Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exception no construtor

Fiquei com uma dúvida quando jogamos a exceção no construtor. No caso, não conseguimos instanciar o objeto con dentro do try devido à exceção, então ele se mantém "null" (da declaração anterior) e ai dá NullPointerException.

Eu não entendi porque quando adicionamos o if(con != null) ele executa o con.fecha();.

Na minha cabeça a referência con se mantem null, então não teria como executar. Entendi algo errado na lógica?

1 resposta
solução!

Olá Vinicius, tudo bem?

Eu não entendi porque quando adicionamos o if(con != null) ele executa o con.fecha();

Na verdade não será executado, veja que dentro da nossa função de fechar, caso ela fosse executado deveria aparecer na tela Fechando Conexão, então acontece o que você falou mesmo:

Como temos um erro logo no construtor, a variável con se mantém como nulo, temos a execução do bloco catch e após isso é executado apenas o print do finally e como con é igual a nulo, não entra dentro do if e acaba o bloco.

Compreendeu? Qualquer coisa estou a disposição :)

Abraços e Bons Estudos!