Назад к вопросам
СБЕР
Senior
9
Расскажите базовую иерархию исключений в Java. Что такое checked и unchecked исключения?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В 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
}
}