Как в Java обрабатывать исключения и работать с ресурсами?

Исключения Java обрабатывают try/catch, cleanup — finally или предпочтительно try-with-resources для AutoCloseable. Перехватывают там, где можно осмысленно восстановиться или перевести ошибку в контракт.

Короткий ответ

Что ответить на собеседовании

Исключения Java обрабатывают try/catch, cleanup — finally или предпочтительно try-with-resources для AutoCloseable. Перехватывают там, где можно осмысленно восстановиться или перевести ошибку в контракт.

Подробный разбор

Ответ с пояснениями

Исключения Java обрабатывают try/catch, cleanup — finally или предпочтительно try-with-resources для AutoCloseable. Перехватывают там, где можно осмысленно восстановиться или перевести ошибку в контракт.

Пример:

try (BufferedReader reader = Files.newBufferedReader(path)) {
    return reader.readLine();
}

Ресурс закроется и при исключении; IOException нужно обработать или объявить в throws. Не возвращайте успех после технического сбоя и не подавляйте исключение пустым catch. При переводе в доменную ошибку сохраняйте cause. Finally с return может скрыть исходный результат или ошибку, поэтому его избегают.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее