exit
v1.1.0
os . Exit ( exit . Forbidden ) // The user isn't permitted to perform this action
os . Exit ( exit . Unavailable ) // An API this program consumes isn't available
use semantic_exit :: { exit , Code } ;
exit ( Code :: Forbidden ) ;
exit ( Code :: Unavailable ) ;
import exit
exit . Code . Forbidden . exit ()
exit . Code . Unavailable . exit ()
Siehe die vollständige Liste der Exit -Codes.
Das Verlassen eines Programms mit Null zeigt herkömmlich an, während ungleich Null Misserfolg angibt.
os . Exit ( 0 ) // success
os . Exit ( 1 ) // failure
Das System Call exit
akzeptiert jedoch Werte zwischen 0 und 255 und lässt 254 verschiedene Möglichkeiten zum Ausdruck von Scheitern.
Die Ziele dieser Bibliothek sind es, Exit -Codes zu definieren, die sind:
Es definiert Codes in zwei nicht reservierten Bereichen: 80-99 für Benutzerfehler und 100-119 für Software- oder Systemfehler.
Code beenden | Name | Bedeutung |
---|---|---|
0 | OK | Das Programm wurde erfolgreich verließ. |
1 | NotOK | Das Programm verließ erfolglos, gibt aber keinen zusätzlichen Kontext darüber, was der Fehler war. |
80 | UsageError | Das Programm verließ erfolglos, weil es falsch verwendet wurde. (z. B. wurde ein erforderliches Argument weggelassen, und es wurde ein ungültiger Wert für eine Flagge geliefert.) |
81 | UnknownSubcommand | Das Programm verließ erfolglos, weil ein nicht erkannter Unterbefehl aufgerufen wurde. (Verwendet von CLI Multi-Tools.) |
82 | RequirementNotMet | Das Programm verließ erfolglos, weil eine Voraussetzung nicht erfüllt wurde. |
83 | Forbidden | Das Programm wurde erfolglos beendet, da der Benutzer nicht zur Ausführung der angeforderten Aktion berechtigt ist. |
84 | MovedPermanently | Das Programm verließ erfolglos, weil es an einen neuen Standort migriert wurde. |
100 | InternalError | Das Programm verließ erfolglos wegen eines Problems in seinem eigenen Code. (Wird anstelle von 1 verwendet, wenn bekannt ist, dass das Problem mit dem Code oder Abhängigkeiten des Programms liegt.) |
101 | Unavailable | Das Programm verließ erfolglos, da ein Dienst, von dem er abhängt, nicht verfügbar war. (z. B. ein lokaler Dämon oder Remote -Service antwortete nicht, eine Verbindung wurde unerwartet geschlossen, ein HTTP -Dienst reagierte mit 503.) |
Ctrl
C
beenden, senden Sie es beispielsweise das Signal SIGINT
- dessen Wert 2 ist - und das Programm beendet mit 130.)sysexits.h
-Codes wurden ursprünglich für sendmail
definiert, wurden jedoch seitdem an vielen Orten verwendet. (Vergleichen Sie semantische Exit -Codes mit Sysexits.h -Codes)