ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
292
292
EMPFEHLEN
-
06.10.11 23:54 #1
- Registriert seit
- Feb 2007
- Beiträge
- 75
Hi!
Ich und ein Kollege arbeiten momentan an einem Code. Das Programm ist übrigens ein Commandline tool. Nun sind wir am Punkt angelangt, wo wir uns fragen, ob wir folgendes verwenden wollen/sollten oder eben nicht:
Code :1 2 3 4 5 6
try { ..... } catch(Exception e) { e.printStackTrace(); System.exit(1); }
Mein Kollege möchte das so lösen, ich hingegen bin dafür eine Exception zu werfen (kann auch eine eigens Erstellte sein) und diese dann nach aussen tragen und da entsprechend handeln. Anstelle stacktrace würde ich eher in einen log schreiben.
Was meint ihr?
Gruss
BBBB
-
07.10.11 08:01 #2
Hi,
also einen Logger zu nehmen, ist nie falsch. Ob man in einem catch-Block das Programm mit System.exit(1) verlässt oder nicht, muss der Entwickler anhand der Schwere des Fehlers entscheiden.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
07.10.11 09:18 #3
- Registriert seit
- Feb 2007
- Beiträge
- 75
Was wären denn deiner Meinung nach Fehler die einen System.exit rechtfertigen würden? Sagen wir mal eine Query geht schief, oder ein Server wird nicht gefunden, oder ein Input File enthält schlechte Syntax.
-
07.10.11 09:27 #4
Es kommt nicht nur auf die Exception an. Wenn das Programm auch ohne die Datei, Variable, etc. - die im Try-Block erstellt/abgefragt werden sollte - auskommt, dann muss man es logischer weiße nicht beenden. Wenn du allerdings z.B. eine Datei einließt und deren Inhalt nicht dem entspricht, was du erwartest, dann kannst du das Programm verlassen, da das Programm eh nicht weiter arbeiten kann.
Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
07.10.11 12:54 #5
- Registriert seit
- Aug 2005
- Ort
- Karlsruhe (Baden-Württemberg)
- Beiträge
- 905
Es kommt generell drauf an was für eine Art von Programm es ist. Generell ist es sinnnvoll die Abhandlung nach außen hin an einer Stelle zu machen. Der normale Benutzer wird mit einem Stacktrace auch nichts anfangen können.
Aber bei einem simplen Kommandzozeilen-Tool, welches eine Aufgabe hat und nicht interaktiv ist kann man das auch mit System.exit machen.
Ansonsten schließe ich mich Fabio an
Wäre super wenn ihr euren Code in dieser Form einfügt:
[java]System.out.println("Hello World");[/java]Code java:1
System.out.println("Hello World");
Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
Blog: http://javaeffective.wordpress.com/
Ähnliche Themen
-
DefaultCloseOperation mit System.exit(1)
Von Marshallbbw im Forum JavaAntworten: 2Letzter Beitrag: 11.04.06, 15:04 -
Alternative zu exit() und die() ...
Von Skala im Forum PHPAntworten: 2Letzter Beitrag: 24.12.04, 10:18 -
Linux C system,exit undeclared
Von Java/CppProgrammer im Forum C/C++Antworten: 2Letzter Beitrag: 17.10.04, 12:20 -
die(); und exit();
Von morgenstern im Forum PHPAntworten: 2Letzter Beitrag: 01.10.03, 14:28 -
Exit
Von Rip van Winkle im Forum Flash PlattformAntworten: 3Letzter Beitrag: 04.07.02, 15:07





Zitieren
Login





