Исключения Java обрабатывают try/catch, cleanup — finally или предпочтительно try-with-resources для AutoCloseable. Перехватывают там, где можно осмысленно восстановиться или перевести ошибку в контракт.
Как в Java обрабатывать исключения и работать с ресурсами?
Исключения 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 может скрыть исходный результат или ошибку, поэтому его избегают.