Multi-Catch-Ausnahmebehandlung
Mehrere Ausnahmetypen in einem einzigen catch-Block abfangen.
Code-Vergleich
✕ Pre-Java 7
try {
process();
} catch (IOException e) {
log(e);
} catch (SQLException e) {
log(e);
} catch (ParseException e) {
log(e);
}
✓ Java 7+
try {
process();
} catch (IOException
| SQLException
| ParseException e) {
log(e);
}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
DRY
Dieselbe Behandlungslogik wird einmal statt dreimal geschrieben.
Wiederauswerfbar
Die abgefangene Ausnahme kann mit ihrem genauen Typ weitergeworfen werden.
Übersichtlich
Alle behandelten Typen sind an einer Stelle sichtbar.
Alter Ansatz
Separate Catch-Blöcke
Moderner Ansatz
Multi-Catch
Seit JDK
7
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
Multi-Catch-Ausnahmebehandlung
Verfügbar
Seit JDK 7 allgemein verfügbar (Juli 2011)
Wie es funktioniert
Multi-Catch behandelt mehrere Ausnahmetypen mit demselben Code. Die Ausnahmevariable ist effektiv final, sodass sie ohne Einwickeln weitergeworfen werden kann.
Zugehörige Dokumentation