Logging von unbehandelten Anwendungsfehlern im Mainthread in Java: Unterschied zwischen den Versionen

Aus maxTechCorner
Deko (Diskussion | Beiträge)
imported>TechCorner-Redaktion
Softwareentwicklung: Überarbeitung
 
Zeile 1: Zeile 1:
=== '''Symptom''' ===
In Java lassen sich unbehandelte Ausnahmen zentral verarbeiten, um sie z. B. zu protokollieren.
In Java ist es einfach möglich unbehandelte Ausnahmen zu verarbeiten um diese zum Beispiel zu protokollieren.<br />
=== '''Ursache und Lösung''' ===
Um bei einem unbehandelten Fehlerfall einer Anwendung (eines Threads) wenigstens noch den Fehler protokollieren zu können, bietet es sich an, dem Thread einen ''DefaultUncaughtExceptionHandler'' zu übergeben.<br /><br />
Das geht ganz einfach via:<br />
''{code}<br />''
''Thread.setDefaultUncaughtExceptionHandler((thread, exc) -> log.error("Unbehandelte Ausnahme in der Anwendung", exc)); <br />''
''{code}<br />''


=== '''Tags''' ===
== Lösung ==
unbehandelte Ausnahme, Java, Logging
Dem Thread einen <code>DefaultUncaughtExceptionHandler</code> übergeben:
<syntaxhighlight lang="java">
Thread.setDefaultUncaughtExceptionHandler(
    (thread, exc) -> log.error("Unbehandelte Ausnahme in der Anwendung", exc));
</syntaxhighlight>
So wird zumindest der Fehler protokolliert, bevor die Anwendung (der Thread) beendet wird.


=== '''Kontakt''' ===
== Unterstützung von m.a.x. it ==
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns:<br />
Bei plattformübergreifender App- und Software­entwicklung unterstützt Sie m.a.x. it mit [https://www.max-it.de/development/individuelle-softwareentwicklung/ individueller Softwareentwicklung].
[http://mailto:techcorner@max-it.de techcorner@max-it.de].<br />


'''Über m.a.x. Informationstechnologie AG:''' <br />
{{Uebermax}}
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.
[[Kategorie:Softwareentwicklung]]


[[Kategorie: Softwareentwicklung]]

Aktuelle Version vom 15. September 2026, 00:00 Uhr

In Java lassen sich unbehandelte Ausnahmen zentral verarbeiten, um sie z. B. zu protokollieren.

Lösung

Dem Thread einen DefaultUncaughtExceptionHandler übergeben:

Thread.setDefaultUncaughtExceptionHandler(
    (thread, exc) -> log.error("Unbehandelte Ausnahme in der Anwendung", exc));

So wird zumindest der Fehler protokolliert, bevor die Anwendung (der Thread) beendet wird.

Unterstützung von m.a.x. it

Bei plattformübergreifender App- und Software­entwicklung unterstützt Sie m.a.x. it mit individueller Softwareentwicklung.


Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung? Kontakt aufnehmen