Какие виды исключений в Java ты знаешь и чем они отличаются?

В Java исключения делятся на две основные категории:

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

Что ответить на собеседовании

В Java исключения делятся на две основные категории:

Подробный разбор

Ответ с пояснениями

В Java исключения делятся на две основные категории:

  1. Проверяемые исключения (Checked Exceptions)

    • Наследуются от класса Exception, но не от RuntimeException.
    • Компилятор требует, чтобы такие исключения либо обрабатывались в блоке try-catch, либо объявлялись в throws метода.
    • Используются для ситуаций, которые можно предвидеть и обработать, например, ошибки ввода-вывода (IOException).
  2. Непроверяемые исключения (Unchecked Exceptions)

    • Наследуются от RuntimeException.
    • Компилятор не требует обязательной обработки или объявления.
    • Обычно сигнализируют о программных ошибках, таких как NullPointerException, IllegalArgumentException.
  3. Ошибки (Errors)

    • Наследуются от класса Error.
    • Представляют серьезные проблемы, которые обычно не обрабатываются приложением, например, OutOfMemoryError.

Различия:

  • Проверяемые исключения требуют явной обработки, что помогает писать более надежный код.
  • Непроверяемые исключения обычно связаны с ошибками программирования и не требуют обязательной обработки.
  • Ошибки сигнализируют о проблемах на уровне JVM и обычно не обрабатываются.

Пример:

try {
    FileReader file = new FileReader("file.txt"); // IOException - проверяемое исключение
} catch (IOException e) {
    e.printStackTrace();
}

int a = 5 / 0; // ArithmeticException - непроверяемое исключение

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее