No exemplo do video, com o try with resources, quando rodamos o codigo, aparentemente o método close() nao roda. Neste caso, a conexao estaria aberta ainda?
public class Conexao implements AutoCloseable{
public Conexao() {
System.out.println("Abrindo conexao");
throw new IllegalStateException();
}
public void leDados() {
System.out.println("Recebendo dados");
throw new IllegalStateException();
}
@Override
public void close() {
System.out.println("Fechando conexao");
}
}
classe TesteConexao:
public class TesteConexao {
public static void main(String[] args) {
try (Conexao conexao = new Conexao()) {
conexao.leDados();
} catch (IllegalStateException ex) {
System.out.println("Deu erro na conexao");
}
}
}