So beenden Sie die windows-Eingabeaufforderung, in der eine java-Anwendung gestartet habe
So beenden Sie die Konsole von einem einfachen Java-Programm nach dem anzeigen einer Fehlermeldung?
derzeit mein code:
...
...
if (some condition){
//print error
System.exit();
...
...
Aber das System.exit();
verlässt die Konsole öffnen. Ich habe versucht exit(0);
, System.exit(0);
als gut.
- In welcher Art und Weise Sie nicht helfen? Was passiert, wenn Sie laufen
System.exit()
? - Es sollte den trick tun. Also entweder man eigentlich nie ausführen System.beenden oder Sie tun etwas relevant ist, das ist nicht im code vorhanden. Bitte erstellen Sie ein klein wie möglich Beispiel für, die Sie können, poste den kompletten code hier, oder zumindest erzählen Sie uns mehr über das, was Ihre app tun.
- Schauder: Es ist ein einfaches Java-Programm, dass ich die Ausführung auf Windows-cmd. Ich will den cmd automatisch zu schließen, nach der Anzeige der bestimmten Fehlermeldung.
- Hängen Sie auf - wollen Sie das Eingabeaufforderungsfenster schließen oder einfach das Programm beenden? Ich nehme an, der Zustand ist immer der hit, und Sie drucken Sie den Fehler OK?
- Ja. Nur der Fehler wird immer gedruckt. Wie schließen Sie die cmd.exe automatisch nach dem drucken der Fehler???
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, schließen Sie das Fenster der Eingabeaufforderung, die Ihre Anwendung ausgeführt wird, dann glaube ich nicht, es ist ein Weg, es zu tun (zumindest nicht schön).
Warum wollen Sie Ihre Anwendung zu starten Sie die Eingabeaufforderung aus, und schließen Sie dann die bereits vorhandenen Fenster der Eingabeaufforderung? Dies wird sicherlich loszuwerden, der Fehlermeldung, die Sie ausgeben (es sei denn, es ist auch protokolliert wird - in dem Fall ist, warum drucken Sie es auf ein Fenster, das Sie schließen möchten?).
Dies ist Windows-spezifisch, aber würde das erstellen einer Verknüpfung in Windows Explorer zu
java -jar MyJarFile.jar
oderjava MyCompiledClass
tun, was Sie wollen? Die Instruktionen für diese Art von Ansatz gefunden werden kann hier.System.exit(1);
sollte funktionieren. Beachten Sie, dass, wenn Sie beenden mit einer Fehlermeldung, Sie würde in der Regel setzen ein nicht-null - exit-code. Von der doc:
Das heißt, Sie können ein Skript mit gängigen Konventionen, jeder Prozess, laichen Sie Ihr Programm dementsprechend reagieren etc.
Wenn ich Sie richtig verstehe, Sie wollen, um das Programm auszuführen in einer Eingabeaufforderung ein, und wenn das Programm nicht Sie wollen, dass es um die Anzeige der Fehlermeldung, schließen Sie das Programm UND die Leitung Eingabeaufforderung-Fenster?
Ist dies der Fall, dann ist die einzige Sache, die ich denken konnte wäre, um führen Sie Ihr Programm in einer batch-Datei überprüft den exit-status des Programms. Also in deinem code Schreibe deine Fehlermeldung, dann schlage ich vor, schlafen für ein paar Sekunden, damit sich die user wirklich sehen können, dann beenden Sie mit status-code 1.e.g.
Dann führen Sie Ihr Programm aus einer batch-Datei überprüft den "ERRORLEVEL" - Umgebungsvariable z.B.
Hoffe, das hilft 🙂
java.lang.System
keineexit
- Methode ohne Parameter auf, soSystem.exit();
wäre ein compile-Fehler. (System.exit(1);
wäre allerdings auch in Ordnung.) Der Grund, dass der code nicht funktioniert ist wahrscheinlich, dass Sie nicht erneut kompilieren zu müssen, Sie sind also noch einige der alten version aus, bevor Sie Hinzugefügt, die Zeile.Angenommen, Sie versuchen, installieren Sie firefox .bat-Datei aus java -
Diese auslösen würde, die Eingabeaufforderung und das Fenster wird geöffnet, bis Sie manuell gehen und schließen Sie es nach der firefox ist installiert.
Fix ist, dass in Ihr .bat-Datei, die nur nach Ihrem Befehl setzen Sie einfach ein "Ausfahrt" Für z.B.:
Firefox.bat enthalten würde
@Start /wait "Firefox" "C:\Firefox Setup 41.0.exe" -ms
Ausfahrt
Dies wird schließen Sie Ihre Fenster der Eingabeaufforderung. Hoffe, das hilft...
haben Sie einen Blick auf den folgenden link
http://www.cs.bris.ac.uk/jot/decisions/exercise11/exit.html
Es ist eine Allgemeine Konvention, dass ein Programm einen Exitcode zurückgeben. Der exit-code null sein muß, um anzuzeigen, Erfolg und nicht-null, um anzugeben, scheitern. Plattformen unterscheiden sich darüber, welche unterschiedlichen nicht-null-codes bedeuten, so dass Programmierer oft nur 1 zurück als einen Allgemeinen Hinweis auf die Fehler.
System.exit(); beendet die JVM. Die int ist der status-code (0 bedeutet "normal" beenden). Wenn es nicht beenden, es ist, weil der Teil des Codes ist nicht erreichbar und nicht ausgeführt überhaupt.
Java-API - System.exit()