Встречается на собеседованиях • сегодня

Добавит ли что-то close при вызове в блок try

Вызов close() внутри блока try не имеет смысла, так как ресурс еще не закрыт и может использоваться дальше. Лучше использовать try-with-resources:

java
try (Resource res = new Resource()) {
    // работа с ресурсом
    // res.close() - НЕ НУЖНО, вызовется автоматически
} 

Или традиционный try-catch-finally:

java
Resource res = new Resource();
try {
    // работа с ресурсом
} finally {
    res.close(); // правильное место для закрытия
}

Вызов close() в блоке try может привести к:

  1. Двойному закрытию (если ресурс уже закрыт в finally)
  2. Исключениям при работе с уже закрытым ресурсом
  3. Усложнению отладки
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы