Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: exception, try, catch

Как обрабатывать несколько исключений в try-catch?

Этот вопрос проверяет знание механизма обработки исключений и умение писать чистый и поддерживаемый код.

Короткий ответ

В Java можно обрабатывать несколько исключений с помощью нескольких catch блоков или одного catch с перечислением исключений через |. Это упрощает код и уменьшает дублирование логики обработки. Такой синтаксис появился в Java 7. Он применяется, если для разных исключений требуется одинаковая логика. При этом тип исключения в таком catch считается final.

Длинный ответ

Основные способы обработки

Перед тем как выбрать подход, важно понимать, одинаково ли обрабатываются исключения.

Несколько catch блоков

Используется, если логика обработки различается.

try {
    // код, который может выбросить исключения
} catch (IOException e) {
    // обработка IO-ошибки
} catch (SQLException e) {
    // обработка ошибки БД
}

Особенности:

  • порядок важен

  • более конкретные исключения должны идти раньше

Multi-catch (один catch)

Используется, если логика обработки одинакова.

try {
    // код
} catch (IOException | SQLException e) {
    // общая обработка
}

Ограничения:

  • исключения не должны быть в одной иерархии

  • переменная e является final

Когда что использовать

  • Разная реакция на ошибки → несколько catch

  • Одинаковая реакция → multi-catch

Вывод

Multi-catch делает код компактнее и чище, но подходит не всегда. Выбор способа зависит от логики обработки ошибок.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • Java

    Java

Ключевые слова

#exception

#try

#catch

Подпишись на Java Developer в телеграм