Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Можно ли создать собственное исключение и выбрать, будет ли оно checked или unchecked?

Вопрос проверяет понимание иерархии исключений и умение проектировать собственные ошибки в Java.

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

Да, в Java можно создать собственное исключение. Тип исключения определяется тем, от какого класса оно наследуется. Если наследоваться от Exception, исключение будет checked. Если от RuntimeException — unchecked.

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

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

Как создаётся собственное исключение

Пользовательское исключение — это обычный класс, унаследованный от одного из классов иерархии Throwable.

Checked исключение

Если исключение должно обрабатываться явно, оно наследуется от Exception.

public class ValidationException extends Exception {
    public ValidationException(String message) {
        super(message);
    }
}

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

  • Компилятор требует try-catch или throws

  • Подходит для ожидаемых ошибок

  • Часто используется для ошибок внешних систем

Unchecked исключение

Если исключение отражает ошибку логики, оно наследуется от RuntimeException.

public class BusinessException extends RuntimeException {
    public BusinessException(String message) {
        super(message);
    }
}

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

  • Не требует обязательной обработки

  • Проявляется во время выполнения

  • Часто используется в бизнес-логике

Как выбрать тип

Выбор зависит от характера ошибки:

  • Ошибка ожидаемая и восстанавливаемая → checked

  • Ошибка логики или некорректного состояния → unchecked

Вывод

Тип пользовательского исключения выбирается осознанно: checked — для контролируемых ситуаций, unchecked — для сигнализации о дефектах логики.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Java

    Java

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

#custom

#exception

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