Java Core junior

Можно ли в catch ловить Throwable? Стоит ли?

Ответ

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

Разбор: catch (Throwable t) синтаксически допустим, но опасен: Throwable — корень иерархии, и под него попадают Error (OutOfMemoryError, StackOverflowError), сигнализирующие о фатальном состоянии JVM, из которого восстановление обычно невозможно и бессмысленно. Правильно ловить конкретные исключения. Ловушки: компилятор такое не запрещает, а ловить Error и «продолжать работу» — как раз то, чего делать нельзя.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться