tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
292
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    BaseBallBatBoy BaseBallBatBoy ist offline Mitglied Silber
    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
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist gerade online Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    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ß

    Fabio
     
    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.

  3. #3
    BaseBallBatBoy BaseBallBatBoy ist offline Mitglied Silber
    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.
     

  4. #4
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist gerade online Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    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.

  5. #5
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    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:
    Code java:
    1
    
    System.out.println("Hello World");
    [java]System.out.println("Hello World");[/java]
    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

  1. DefaultCloseOperation mit System.exit(1)
    Von Marshallbbw im Forum Java
    Antworten: 2
    Letzter Beitrag: 11.04.06, 15:04
  2. Alternative zu exit() und die() ...
    Von Skala im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.12.04, 10:18
  3. Linux C system,exit undeclared
    Von Java/CppProgrammer im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 17.10.04, 12:20
  4. die(); und exit();
    Von morgenstern im Forum PHP
    Antworten: 2
    Letzter Beitrag: 01.10.03, 14:28
  5. Exit
    Von Rip van Winkle im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 04.07.02, 15:07