Java Core trainee
Что такое try-with-resources?
Ответ
Конструкция, которая гарантирует вызов close() у ресурсов, реализующих AutoCloseable. Заменяет try-finally. При исключении в try ресурсы всё равно закроются детерминированно, а исключение из close() становится suppressed.
Разбор: try-with-resources гарантированно вызывает close() для любого ресурса, реализующего AutoCloseable (Closeable — его наследник), причём как при нормальном завершении, так и при исключении, заменяя громоздкий try-finally. Ловушки: close() не зависит от GC и вызывается детерминированно сразу после блока, а исключение из close() при ошибке в try становится suppressed, а не подавляет основное.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.