4
respostas

Diferença do uso do "CHECKED" ou "UNCHECKED"

Olá pessoal , tudo bem? Tenho uma dúvida relacionada a qual forma de usar as exceções, e que por sua vez estão relacionadas ao "checked" ou o "unchecked". Eu não encontrei no forum a resposta, caso já tenham perguntado, me desculpem, mas eu gostaria de saber se tem alguma diferença em utilizar as exceções e em qual caso ou qual boa prática sugere o metodo checked ou o unchecked? Ficou clara minha dúvida? Obrigado desde já Abraço!

4 respostas

Oi Maurício

As checked exceptions são as exceções verificadas em tempo de compilação, ou seja, se algum código dentro do método lançar uma exceção verificada, o método deve tratar a exceção ou deve re-lançar a exceção usando a palavra-chave throws.

As unchecked exceptions são as exceções que não são verificadas no momento da compilação, ou seja, se um método lançar uma exceção não verificada, o compilador não vai obrigar a usar try catch nem re-lançar a exceção usando throws.

A maior diferença entre as exceções verificadas e não verificadas é que as exceções verificadas são forçadas pelo compilador e usadas para indicar condições excepcionais que estão fora do controle do programa, enquanto as exceções não verificadas ocorrem durante o tempo de execução e são usadas para indicar erros de programação.

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

Olá Otávio, boa tarde. Muito obrigado pelo retorno, tinha entendido a parte de serem verificadas e não verificadas pelo compliador , agora quanto ao uso delas não sabia não, obrigado pelo artigo também!! Seguirei o curso aqui para consolidar o aprendizado... Um outra dúvida, elas podem ou são usadas ao mesmo tempo, digo no mesmo código?

Oi Mauricio,

Sim, um mesmo método, por exemplo, pode lançar uma checked exception de regra de negócio, mas ao mesmo tempo lançar uma Runtimeexception (uncheched exception) como NullPointerException.

Legal, muito obrigado Otavio!