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

Dúvida no Ex. 12 da Aula 5 - Exceções e controle de erros

Não ficou muito claro o uso do throws.

Se eu uso uma checked exception, terei que trata-la nas classes em que possivelmente possa aparecer, correto? Mas se isso já é inerente a uma checked exception, por que tenho que usar o throws? Só uso-o caso eu não queira tratar e exception naquela determinada classe? Não compreendi muito bem...

4 respostas
solução!

João,

Tratar é opcional, você pode continuar dando throws até quando quiser, porém é boa pratica realizar o tratamento no lugar correto, assim você deixa mais explicito ao realizar o log ou quando mandar a mensagem de erro para o usuario por exemplo.

Você pode usar até quando for unchecked exception, o tratamento de exception é uma maneira elegante de lidar com determinada situação que pode ocorrer no sistema, fica como solução para você não precisar criar uma logica feia para quando precisar mostrar a mensagem para o usuario.

O tratamento é em qualquer metodo que fizer uso daquele outro método que fizer o throws, pode ser em qualquer classe, depende da sua regra e logica.

Olá Douglas,

Obrigado pela resposta.

Então se bem entendi o throws serve como um bypass do tratamento? Se não quero trata-lo naquele momento jogo o throws?

exatamente! é como se fosse um bypass... é como dizer "náo quero tratar a exceção aqui, prefiro que outro ponto do sistema tenha a oportunidade de tratar este erro pra mim"

Beleza!

Muito obrigado Thiago Rodrigues e Douglas Galdino!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software