Часто при написании кода на Java сталкиваются с ситуацией, когда необходимо перехватить несколько различных исключений. При этом обычно хочется избежать дублирования кода и обработать все исключения в одном месте.
Типичная проблема
Допустим, есть код, в котором возможно возникновение нескольких различных исключений. Например:
try {
...
} catch (ExceptionType1 e) {
handleException(e);
} catch (ExceptionType2 e) {
handleException(e);
} catch (ExceptionType3 e) {
handleException(e);
}
В этом случае, если функция обработки исключений handleException одинаковая для всех типов исключений, то код в блоках catch дублируется. Это делает код менее читаемым и усложняет его поддержку.
Решение
В Java 7 и более новых версиях языка предусмотрена возможность перехватить несколько исключений одновременно в одном блоке catch. Для этого нужно перечислить типы исключений через вертикальную черту (|). Вот как выглядит пример кода с такой конструкцией:
try {
...
} catch (ExceptionType1 | ExceptionType2 | ExceptionType3 e) {
handleException(e);
}
Теперь все исключения типов ExceptionType1, ExceptionType2 и ExceptionType3 будут перехвачены и обработаны в одном блоке catch, что делает код более чистым и легким для чтения.
Такой способ перехвата исключений называется множественным перехватом исключений или multi-catch. Это удобный способ обработки нескольких исключений, когда для всех из них применяется одна и та же логика обработки.
Перейти в телеграм, чтобы получить результаты теста



Забрать
Добавить комментарий