> For the complete documentation index, see [llms.txt](https://comaqa.gitbook.io/java-automation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://comaqa.gitbook.io/java-automation/oop-v-java/mnozhestvennye-isklyucheniya.md).

# Множественные исключения

В некоторых случаях один фрагмент кода может инициализировать более одного исключения. Чтобы справиться с такой ситуацией, вы можете задать два или более операторов 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
}
```
