Exception abfangen

Status
Nicht offen für weitere Antworten.

EagleEye

Bekanntes Mitglied
gibt es eine einfache möglichkeit alle Exception abzufangen oder muß ich mir die arbeit machen alle einzeln abfangen
 
Code:
try{
// ganz böser gefährliche abkackgefährdeter code
} catch(Exception ex) { // irgendeine exception
ex.printsStackTrace();
}
 
Du kannst
Code:
}catch (Exception e)

oder noch besser / schlechter

}catch (Throwable t)

machen. Ist aber nicht gut, das so zu machen, im Normalfall ist es besser, auf die einzelnen Exceptions einzugehen.

Ich gebs allerdings zu, dass ich das auch häufiger mache. 😳


Edit: schon wieder warst du schneller :evil:
 
Wenn Du alle Exceptions und Errors abfangen willst:
Code:
try{
  // falsch geschriebener Code der zuviele Fehler macht :-)
}
catch( Throwable t ){
}

mfg Beni

[Edit: Und mit bleibt nur Bronze 🙁 ]
 
das klappt leider nicht ganz so wie ich das haben will 🙁
ich habe mein Programm jetzt fertig ich hatte jetzt vor möglichst einfach alle fehler abzufangen
gibt es da nicht ne möglichkeit das ich den ersten programm aufruf damit einkapsele und das dann alles andere abgefangen wird weil so habe ich ebend probiert gings nicht da müßte ich alle methoden einzeln abfragen (soviel arbeit will ich mir nicht machen😉)
 
machs doch so:
Code:
public static void main(String[] args) {
try {
boeseMethode();
anotherGefaehrlicheMthode();

} catch(Exception ex) {
ex.printStackTrace(); }
}

public static void boeseMethode() throws Exception {
// tu was boeses
}

public static void anotherGefaehrlicheMthode() throws Exception {
// tu was noch böseres, wie z.b. aus datei lesen und son stuff
}

oder wie meinst du?
 
Mal eine andere Frage: was willst du mit den Fehlern machen bzw. wieso willst du das?

Wenn es nur einen Thread gibt, gehts ja noch (also keine GUI oder so).

Dann kannst du ja in der main-Methode den try-catch-Block machen. Aber auch dann springt er dorthin, und außerdem kannst du dort auch nichts anderes machen, als den Fehler (und den Stacktrace) auszugeben, da du nicht weißt, was es für ein Fehler ist.

Edit: NEIN schon wieder :twisted:
 
ich hab mir einen Taschenrechner geproggt nur leider ist da noch irgend ein fehler drin den ich nicht rausbekomme da ich den nicht wieder produzieren kann und da wollte ich die alle abfangen und in eine datei schreiben in der hoffnung das ich die dann irgenwann mal irgendwie rausbekomme
 
so ich hab das jetzt für jede Methode extra gemacht nur jetzt hänge ich am letzten problem
wie schaffe ich es das ich die Fehlernachricht die Java ausgibt in eine Datei bekomme
weil mit printStackTrace() gibt er es ja nur auf der Konsole aus
 
irgendwie bin ich zu blöd heute 🙁
das klappt irgendwie nicht
Code:
  void fehlerschreiben(Exception fehler,String ort)
  {
    //hier wird noch nen bischen was damit gemacht
    try
    {
      FileWriter ausg = new FileWriter("Error.txt");
      ausg.write(fehler.printStackTrace( PrintStream out)+"\n");
      ausg.close();
    }
    catch(IOException e)
    {
      Fehlermitteilung.anzeigen(rechner,"Es ist ein Fehler beim Erstellen der Datei aufgetreten");
    }
  }
C:\Dokumente und Einstellungen\Eagle Eye\Desktop\rechner>javac Rechner.java
Rechner.java:4046: ')' expected
ausg.write(fehler.printStackTrace( PrintStream out)+"\n");
^
Rechner.java:4046: ')' expected
ausg.write(fehler.printStackTrace( PrintStream out)+"\n");
^
Rechner.java:4046: cannot resolve symbol
symbol : variable PrintStream
location: class Rechner
ausg.write(fehler.printStackTrace( PrintStream out)+"\n");
^
3 errors
das sagt mir java beim compilieren
irgendwie kriege ich heute nix richtig hin ???:L
 
Java lernen... :wink:

Eher so was:
Code:
PrintStream out = new PrintStream( new FileOutputStream( new File ("error.txt")));
exception.printStackTrace( out );
out.close();
 
THX das klappt
naja mit der Ausgabe in Text Dateien hab ich mich noch nicht richtig beschäftigt das wollte ich ursprünglich erst beim nächsten Prog machen
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben