Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Unchecked e checked

Vantagens dos dois casos? unchecked e checked

2 respostas
solução!

Oi Jofre, tudo bem?

Basicamente, você vai usar querer usar unchecked para erros irrecuperáveis como o NullPointerException, onde você não quer dar a chance para o usuário se recuperar. Em outras palavras, a única saída para essa situação é mostrar uma mensagem de erro para o usuário informando de o aplicativo encontrou algum problema. Já o checked você usa quando você quer dar uma chance para o usuário tratar o erro e se recuperar. Dessa forma, quem chamou o método vai ser obrigado a fazer o try-catch e terá a chance de se recuperar do erro.

Isso que eu escrevi está de acordo com a documentação Java: unchecked para erros irrecuperáveis onde o crash do sistema é intencional (caso uma Exception ocorra) e checked caso seja possível se recuperar do erro. Porém de acordo com Robert Martin, autor do Clean Code e do Manifesto Ágil: embora usar checked em algumas situações tenha suas vantagens, o uso dele em excesso deve ser evitado já que isso polui o código e pode quebrar o encapsulamento.

Recomendo ler esses dois artigos, o primeiro da Caelum e outro caso seu inglês esteja afiado:

https://blog.caelum.com.br/lidando-com-exceptions/

https://ahmadatwi.me/2017/02/05/how-to-handle-java-exceptions-in-clean-code-part-2/

Se ficou qualquer dúvida, é só avisar!

Bons estudos!

Ok, obrigado pela ajuda :)