Встречается на собеседованиях • сегодня

В чем разница между Error и непроверяемым исключением

Error и непроверяемые исключения (RuntimeException) оба наследуются от Throwable, но используются для разных целей.

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

RuntimeException (и его наследники) — непроверяемые исключения, возникающие из-за логических ошибок (например, NullPointerException, ArrayIndexOutOfBoundsException). Их можно перехватить, но обычно исправляют код.

Пример:

java
// Error (не перехватывается)
throw new OutOfMemoryError();

// RuntimeException (можно перехватить, но лучше исправить код)
throw new NullPointerException();

Разница: Error — фатальные системные ошибки, RuntimeException — ошибки программиста.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы