Junior — Middle
Os outros recursos serão fechados automaticamente se ocorrer uma exceção ao fechar um dos componentes no bloco try-with-resources?
sobes.tech IA
Resposta da IA
Na construção try-with-resources em Java, todos os recursos declarados entre parênteses são fechados automaticamente na ordem inversa à sua declaração, mesmo que uma exceção ocorra ao fechá-los.
Se ocorrer uma exceção ao fechar um recurso, a JVM continuará tentando fechar os outros recursos. As exceções que ocorrerem ao fechar recursos após a primeira serão adicionadas como exceções suprimidas à primeira exceção.
Exemplo:
try (Resource res1 = new Resource("res1");
Resource res2 = new Resource("res2")) {
// trabalho com recursos
}
// Ao sair do bloco, ambos os recursos serão fechados,
// mesmo que uma exceção ocorra ao fechar res1,
// res2 também será fechado.
Isso garante a liberação confiável de todos os recursos, prevenindo vazamentos.