Множественные исключения
В некоторых случаях один фрагмент кода может инициализировать более одного исключения. Чтобы справиться с такой ситуацией, вы можете задать два или более операторов catch, каждый для перехвата своего типа исключений. Когда передается исключение, каждый оператор catch проверяется по порядку, и первый из них, тип которого соответствует исключению, выполняется. После того как выполнится один из операторов catch, все остальные пропускаются и выполнение программы продолжается с места, следующего за блоком try/catch. В следующем примере кода перехватываются два разных типа исключений (Начиная с Java 7 можно перехватывать разные исключения одной строкой):
try {
...
} catch (IOException|SQLException ex) {
logger.log(ex);
throw ex;
}
Однако, если каждое исключение подразумевает индивидуальные действия, придется создавать несколько блоков catch:
try {
...
} catch (IOException ex) {
//action 1
} catch (SQLException ex) {
//action 2
}
Last updated