Ich habe die folgenden Zweifel bezogen sich auf eine einfache Kommandozeilen-Java-Anwendung.Wie genau funktioniert der Java-Anwendungs-Exit-Code der main() -Methode?
So habe ich diese Kommandozeilen-Anwendung, die von einer main() Methode definiertem in einer Haupt Klasse startd ist.
Wie üblich diese main() Methode wird mit dieser Signatur definiertem:
public static void main(String[] args) {
es also Rückgabetyp Leere ist. Es sollte also bedeuten, dass es keinen Wert zurückgibt.
Aber warum, wenn die Ausführung korrekt beendet wird, erhalte ich diese Nachricht in die IntelliJ-Konsole?
Disconnected from the target VM, address: '127.0.0.1:54090', transport: 'socket'
Process finished with exit code 0
Was genau stellen die Exit-Code 0?
Ich denke, dass es bedeutet, dass das Programm seine Ausführung korrekt abgeschlossen hat, ohne irgendeinen Fehler zu verursachen.
So, jetzt habe ich die folgenden 2 Zweifel:
Wenn es wahr ist, warum es, wenn meine main() Methode Rückkehr Leere passiert?
Wie kann ich einen anderen Exitcode zurückgeben, wenn meine Anwendung mit einem Fehler endet? Existiert ein Standard-Exit-Code-Wert, um mit Fehlern zu enden?
Tnx
'System.exit (1)' – Albert
Bitte lesen Sie die Dokumentation der Klasse 'System', insbesondere 'exit (int) '] (http://docs.oracle.com/javase/7/docs/api /java/lang/System.html#exit%28int%29). – RealSkeptic
Der Exit-Code 0 ist nur eine 0 nach Konvention für Java. In einem normalen Fall sollte ein Exit-Code ungleich 0 ein Indikator für einen Fehler sein, was nicht der Fall sein muss, wenn der Programmierer hinter dem Java-Programm diese Konvention bei der Verwendung von System.exit() nicht befolgt hat; – SomeJavaGuy