Sobes.tech
Senior
43

Објасните основну хијерархију изузетака у Јави. Шта су проверене и непроверене изузетке?

Компаније где су питане
СБЕРСБЕР

Одговор од АИ

sobes.tech АИ

В Java иерархия исключений начинается с класса Throwable, который имеет два основных подкласса:

  • Error — ошибки, которые обычно не обрабатываются приложением (например, OutOfMemoryError).
  • Exception — исключения, которые могут быть обработаны.

В свою очередь, Exception делится на:

  • Checked exceptions (проверяемые) — исключения, которые компилятор требует либо обработать (try-catch), либо объявить в сигнатуре метода (throws). Примеры: IOException, SQLException.
  • Unchecked exceptions (непроверяемые) — наследники RuntimeException, которые не требуют обязательной обработки. Примеры: NullPointerException, IllegalArgumentException.

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

Пример:

public void readFile(String path) throws IOException {
    // checked exception
}

public void processData(Object obj) {
    if (obj == null) {
        throw new NullPointerException(); // unchecked
    }
}