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.

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