Junior — Middle
Va avea efect utilizarea lui close în interiorul unui bloc try?
sobes.tech AI
Răspuns de la AI
Если вызвать метод close() внутри блока try, то он будет выполнен, но если в блоке try произойдет исключение до вызова close(), то этот вызов может быть пропущен. Поэтому для корректного освобождения ресурсов лучше использовать конструкцию try-with-resources или вызывать close() в блоке finally.
Пример с try-with-resources:
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
// работа с br
} // br.close() вызовется автоматически
Если же вы вызываете close() внутри обычного try, то при исключении до вызова close() ресурс не будет закрыт, что может привести к утечкам ресурсов.