?
Exitus0 schrieb:
Auch sonst, wenn ich mir keine Möglichkeit sehe,
den Fehler von innerhalb des Programms zur Laufzeit zu korrigieren (weil
z.B. eine externe API- oder .dll- Funktion mein Programm bestreikt), erscheint
mir exit(0) die optimale Möglichkeit, das Programm zu beenden.
Warum denn mit Exitstatus 0 beenden? Das signalisiert in den allermeisten mir bekannten Umgebungen die erfolgreiche Ausführung deines Programms. Wenn du aber aufgrund eines Fehlers dein Programm abbricht, wäre es doch sinnvoll, es den Benutzer/Administrator des Systems (oder dessen zu diesem Zweck eingerichteten Werkzeuge) wisssn zu lassen. Die einfachste Möglichkeit dafür, ist es, einen Exitcode ungleich 0 an die Laufzeitumgebung zurückzugeben.
Da es auch einige Systeme gibt, bei denen 0 nicht unbedingt als Erfolg zu deuten ist (z.B. OpenVMS), sieht C hierfür auch entsprechende Makros vor: EXIT_SUCCESS und EXIT_FAILURE. Ersteres wird auf einem Unix- oder Windows-System als 0 definiert sein. Du willst in deinem Fall aber wahrscheinlich EXIT_FAILURE (auf meinem System ist das 1).