Jak ustalić, który typ wyjątku został przechwycony, czy operacja przechwytuje wiele wyjątków?Java - Jak sprawdzić, który typ wyjątku został zgłoszony?
Ten przykład powinien więcej sensu:
try {
int x = doSomething();
} catch (NotAnInt | ParseError e) {
if (/* thrown error is NotAnInt */) { // line 5
// printSomething
} else {
// print something else
}
}
W linii 5, w jaki sposób mogę sprawdzić, który został złapany wyjątek?
Próbowałem if (e.equals(NotAnInt.class)) {..}
ale bez powodzenia.
UWAGA: NotAnInt
i ParseError
to klasy w moim projekcie, które rozszerzają Exception
.
tworzą zerwania połowy: chwytające (NotAnInt) {} chwytające (ParseError) { } –
Prawdopodobny duplikat [Java - Throwable to Exception] (https://stackoverflow.com/questions/12359175/java-throwable-to-exception) – Molham