В блоке finally я могу сказать, какое исключение было сгенерировано?
В блоке finally я могу сказать, какое исключение было сгенерировано?
Я понимаю, что мы можем проверить в блоке finally, если было сгенерировано исключение.
2 ответа
Я не могу представить себе ситуацию, в которой это когда-либо будет разумно, но вы можете попробовать что-то вроде этого:
class Main {
public static void throwsException() throws Exception {
throw new Exception();
}
public static void main(String[] args) {
Exception caughtException = null;
try {
throwsException();
}
catch (Exception e) {
caughtException = e;
e.printStackTrace();
}
finally {
System.out.println(caughtException);
}
}
}
поймать блок и, наконец, 2 разных прицелов. Исключение, пойманное в блоке catch, невидимо для блока finally. Вы можете использовать ответ Александра, чтобы напечатать исключение в блоке finally.