Alle Konsolenausgaben abfangen

Status
Nicht offen für weitere Antworten.

roddy

Aktives Mitglied
Guten Morgen allerseits,

ist es möglich alle Exceptions, die auf die Konsole ausgegeben werden abzufangen? Ich hab bei meinen try{ } catch { } Blöcken jeweils eine Möglichkeit gesetzt, die mit Exception.printStackTrace die Exceptions in eine Textdatei schreibt. Nun ist es aber auch möglich, dass eine Exception an einer Stelle auftritt, die nicht mit try{}catch{} geschrieben muss. Kann man irgendwo vorschreiben, dass er dann immer in eine TXT schreiben soll oder muss man dafür jede Methode komplett in try-catch einfassen?
 
ist es möglich alle Exceptions, die auf die Konsole ausgegeben werden abzufangen?
was meinst du? eine Exception hat doch mit der Konsole nichts zu tun??

damit du überhaupt an den Stacktrace rankommst, MUSS ja ein catch da sein; und was du da drin machst ist deine Sache??
 
Ein Beispiel:

Ich kann den Befehl:

Code:
meinArray[1] = "wasauchimmer";

schreiben, ohne vorher ein try zu setzen. Trotzdem kann es theorethisch vorkommen, dass eine ArrayIndexOutOfBounds-Exception passiert. Diese wird dann in der Konsole ausgegeben. Das würde ich gerne umwandeln in eine Ausgabe in ein TXT-File, ohne um jeden Befehl bei dem theorethisch irgendeine Exception auftreten könnte einen try{} catch{} Block zu schreiben.
 
roddy hat gesagt.:
Ein Beispiel:

Ich kann den Befehl:

Code:
meinArray[1] = "wasauchimmer";

schreiben, ohne vorher ein try zu setzen. Trotzdem kann es theorethisch vorkommen, dass eine ArrayIndexOutOfBounds-Exception passiert. Diese wird dann in der Konsole ausgegeben. Das würde ich gerne umwandeln in eine Ausgabe in ein TXT-File, ohne um jeden Befehl bei dem theorethisch irgendeine Exception auftreten könnte einen try{} catch{} Block zu schreiben.

was heisst "diese wird in der Konsole ausgegeben"?

das Programm stürzt ab und ist somit kaputt, was soll das TXT-File dabei helfen?

Sorge lieber durch korrekte Programmierung dafür, dass keine Runtime Exceptions ausgelöst werden...
 
Bleiglanz hat gesagt.:
was heisst "diese wird in der Konsole ausgegeben"?

Dass in meiner Console nachher steht, was für eine Exception aufgetreten ist und wo

Bleiglanz hat gesagt.:
das Programm stürzt ab und ist somit kaputt, was soll das TXT-File dabei helfen?

Dass der Benutzer die Fehler.txt an mich mailen kann und ich mir den Fehler ansehen kann und ggf. ein korrigiertes Programm zurückmailen kann.

Sorge lieber durch korrekte Programmierung dafür, dass keine Runtime Exceptions ausgelöst werden...

Das hab ich natürlich vor 😉. Ich bin nur ein wenig paranoid, dass irgendwo noch potenzielle Fehler lauern, die ich nicht entdecke. Ein Programm zu 100% zu verifizieren ist quasi unmöglich...
 
Du kannst auch Thread.setDefaultUncaughtExceptionHandler bzw. Thread.currentThread.setUncaughtExceptionHandler ausprobieren, da kannste dann na Klasse angeben, die alle Exceptions kriegt, dann werden die net einfach in die Konsole geschmissen 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben