В Java исключения наследуются от Throwable. Checked нужно обработать или объявить в throws; RuntimeException и Error с их потомками относятся к unchecked.
Расскажи про exceptions — иерархию, checked и unchecked с примерами
В Java исключения наследуются от Throwable. Checked нужно обработать или объявить в throws; RuntimeException и Error с их потомками относятся к unchecked.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Java исключения наследуются от Throwable. Checked нужно обработать или объявить в throws; RuntimeException и Error с их потомками относятся к unchecked.
Exception включает, например, checked-исключение IOException и unchecked-ветку RuntimeException. Примеры unchecked — NullPointerException и IllegalArgumentException. Error обычно обозначает серьёзные проблемы среды, например OutOfMemoryError; перехватывать всё подряд через Throwable обычно неправильно. В catch более конкретный тип размещают раньше общего. Если восстановление невозможно, сохраняют причину исключения и передают ошибку на слой, который умеет с ней работать; пустой catch скрывает неисправность.