Gibt es eine Konvention für die Rückgabewerte der Main Funktion (Programm Ende)



  • Wenn die main Funktion mit return 0 aussteigt, dann ist ja alles in Ordnung.

    Aber gibt es bei Fehlern, neben der 1 auch noch andere Rückgabewerte bzw. eine Konvention dafür?

    Wie würde es in folgendem Beispiel aussehen:
    Falls:
    A) Das Programm zwar ordnungsgemäß beendet, aber z.B. dem Programm beim
    Start falsche oder unbekannte Parameter übergeben wurden.
    😎 Das Programm aufgrund einer Fehlermeldung (z.B. errno) beendet werden mußte.

    Sollte in beiden Fällen anstatt einer 0 eine 1 zurückgegeben werden oder sollte
    beiden Varianten eine unterschiedliche Nummer zugewiessen werden?

    Immerhin kann dies für automatisierte Skripte interessant sein.
    Hier wäre für Variante A eine Rückgabewert wie 0 IMHO ok,
    weil das Skript durch die Übergabe der falschen Parameter sowieso nicht
    richtig funktionieren würde, der User würde es also vorher richtig schreiben,
    bevor er das Skript im Alltag einsetzt.
    Bei Fehlervariante B sieht dies aber anders aus, hier könnten trotz korrekter Anweisungen im Skript andere Dinge zum Vorschein treten die das Skript abbrechen oder kontrolliert beenden lassen sollten.

    Welche Rückgabewerte verwendet man also für diese beiden Abbruchbedingungen,
    sind die Nummern frei wählbar oder gibt es dazu eine Konvention an die man
    sich halten kann?



  • Hallo,

    ggf. macht es natürlich Sinn unterschiedliche Rückgabewerte zu verwenden. Meines Wissens gibt es keine Konvention, so dass du dir für die möglichen Fehlerfälle deine eigenen Rückgabewerte festlegst.
    Wichtig ist nur, dass man in deiner Dokumentation nachschlagen kann, welcher Wert für welchen Fehler steht.

    Viele Grüße,
    MaBa



  • Standardisiert sind nur EXIT_SUCCESS und EXIT_FAILURE.


Log in to reply