Как определить, какой тип исключения был пойман, если операция улавливает несколько исключений?
Этот пример должен иметь больше смысла:
try {
int x = doSomething();
} catch (NotAnInt | ParseError e) {
if (/* thrown error is NotAnInt */) { // line 5
// printSomething
} else {
// print something else
}
}
В строке 5, как я могу проверить, какое исключение было обнаружено?
Я пробовал if (e.equals(NotAnInt.class)) {..}
, но не повезло.
ПРИМЕЧАНИЕ. NotAnInt
и ParseError
- это классы в моем проекте, которые расширяют Exception
.