Exit Status - wie viele sind vordefiniert



  • Hallo,

    ich wollte herausfinden wie viele vordefinierten Exit-Stati es gibt.
    Warum das ganze?
    Folgendes Beispiel:

    try
    {
        pMyClassMap = new QMap<short,myClass>;
    }
    catch (bad_alloc)
    {
        cout << "MyClass-Map konnte nicht angelegt werden\n";
        ((KAppl*)qApp)->exit(666);
    }
    

    Ich will also bei einem möglichen Programmabbruch ersehen können, an welcher Stelle das Programm abgebrochen wurde. Dies verwirkliche ich mit einem individuellen Exit-Status.
    Allerdings funktioniert das ja nur, wenn ich weiß das dieser Exit-Status auf jeden Fall für nichts anderes verwendet wird.

    MfG
    blue in the morning 👍



  • Vordefiniert sind afaik nur EXIT_SUCCESS (0 = Erfolg) und EXIT_FAILURE (Fehler aufgetreten). Aber theoretisch kann ein Programm jeden beliebigen int-Wert ausgeben.



  • Mit Konsoleneingabe

    echo $status
    

    bekomme ich ja den Exit Status des letzten Programmabbruchs herraus.
    Dieser ist ja bei normalen Programmablauf 0.
    Aber wenn ich z.B. ctrl + c beim Ausführen drücke und danach den Status abrufe,
    ist er 6. Es gibt also anscheinend mehrere Stati 😉



  • Hast du CStolls Post gelesen?

    Du kannst zurückgeben was du willst (wobei der Programmstatus IIRC auf 8 Bits gestutzt wird).
    Vordefiniert (in C/C++) sind nur die beiden EXIT_*-Makros. Ansonsten vielleicht mal Google: exit status conventions o.ä. für deine Plattform versuchen...


Anmelden zum Antworten