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

RuntimeException e Exception

Bom dia! Tudo bem? Eu entendi que RuntimeException não verifica compilador e Exception verifica o compilador para fazer o tratamento, minha dúvida é em qual momento eu devo usar uma das duas no meu código?

2 respostas
solução!

Oie Paloma, tudo bem com você?

A RuntimeException e suas classes filhas são consideradas unchecked exceptions, ou seja, não precisam ser tratadas, ocorrem em tempo de execução e são utilizadas para erros irrecuperáveis.

A Exception e suas classes filhas (tirando a RuntimeException) são consideradas checked exceptions, ou seja, você é obrigado a fazer o tratamento delas e são utilizadas para erros recuperáveis.

Portando ao se perguntar qual tipo de exception usar, faça a seguinte pergunta:

"Quero dar a chance a quem chama meu código de tratar o possível erro?"

Se a reposta for sim, você deve usar uma checked exception.

E quando o problema se tratar de um erro irrecuperável, nós devemos usar as unchecked exceptions, pois nós não queremos dar a chance desse código ser tratado, deu erro e é isso. Geralmente as unchecked exceptions acontecem por culpa do programador, como permitir que o usuário entre com input do numero 0 para uma variável de idade por exemplo, nessa situação o compilador retornaria uma "NullPointerException", ou seja, essa variável não pode receber o valor 0, e o código não deve permitir que isso aconteça.

Se tiver interesse em entender melhor sobre o tema, temos um artigo muito bom feito no blog da Caelum, inclusive usei de base o que foi dito lá para te responder. Clique aqui para ir para o artigo.

Espero que eu tenha ajudado, qualquer dúvida ou problema fico a disposição :)

Bons estudos!

Olá Igor, bom dia, tudo ótimo e com vc ? Sua explicação foi perfeita, bem esclarecedor, obrigada pelo artigo .