Errors Начинающий

Перехват нескольких типов исключений в одном блоке catch.

✕ Pre-Java 7
try {
    process();
} catch (IOException e) {
    log(e);
} catch (SQLException e) {
    log(e);
} catch (ParseException e) {
    log(e);
}
✓ Java 7+
try {
    process();
} catch (IOException
    | SQLException
    | ParseException e) {
    log(e);
}
Заметили проблему в этом коде? Сообщите нам.
📏

DRY

Одна и та же логика обработки пишется один раз, а не трижды.

🔄

Повторный выброс

Пойманное исключение можно повторно выбросить с его точным типом.

📖

Наглядность

Все обрабатываемые типы видны в одном месте.

Старый подход
Отдельные блоки catch
Современный подход
Multi-Catch
Начиная с JDK
7
Сложность
Начинающий
Обработка исключений с Multi-Catch
Доступно

Доступно в JDK 7 (июль 2011)

Multi-Catch обрабатывает несколько типов исключений одним и тем же кодом. Переменная исключения является эффективно final, поэтому её можно повторно выбросить без оборачивания.