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)
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
}
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.
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
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