В чем разница между try-with-resources и try-catch-finally при работе с ресурсами?
Как обрабатывать несколько исключений в try-catch?
Можно ли ловить Error в try-catch и зачем?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
2
Сложность:
6
try-with-resources автоматически закрывает ресурсы, такие как потоки или файлы, после завершения блока. В try-catch-finally закрытие ресурсов нужно обрабатывать вручную в блоке finally, что увеличивает объем кода и может привести к ошибкам.
Рейтинг:
4
Сложность:
5
В Java можно обрабатывать несколько исключений с помощью нескольких catch блоков или одного catch с перечислением исключений через |. Это упрощает код и уменьшает дублирование логики обработки. Такой синтаксис появился в Java 7. Он применяется, если для разных исключений требуется одинаковая логика. При этом тип исключения в таком catch считается final.
Рейтинг:
3
Сложность:
7
Технически Error можно поймать в try-catch, так как он является наследником Throwable. Однако делать это не рекомендуется в большинстве случаев. Error сигнализирует о критических проблемах JVM, с которыми приложение обычно не может корректно справиться. Чаще всего такие ошибки не предполагают восстановления работы. Ловля Error допустима только в редких инфраструктурных сценариях.