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?
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?
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 .