Foi dito que o try precisa ter pelo menos um catch ou um finally e que o try-with-resources tem um finally "embutido". Porém, ao remover o catch do código a seguir, e também ao tentar colocar um finally no lugar, o meu método main foi interrompido e não mostrou a saída "fim do main". (Esse é o caso lançando a exceção no construtor da classe Conexao)
public class TestaConexao {
public static void main(String[] args) {
try(Conexao con = new Conexao()){
con.leDados();
} catch (IllegalStateException ex) {
System.out.println("deu erro na execução");
}
System.out.println("fim do main");
}
}
Sendo assim, sempre precisa ter um catch junto ao try-with-resources para ser considerado um tratamento?