Quando devo tratar e quando devo lançar uma exceção?

Java

07/07/2017

Pessoal,

estou criando uma aplicação web e surgiu uma dúvida: Quando devo tratar a exceção e quando devo lançar essa exceção para que seja tratada em outra camada/classe?

Obrigado!
Augusto Santos

Augusto Santos

Curtidas 0

Melhor post

Clayton Silva

Clayton Silva

09/08/2017

Bom dia, Augusto! Eu gosto mto de analisar a seguinte situação:
Definindo bem a responsabilidade da minha classe, ela deve tratar um erro ocorrido ou deve informar a alguém q aconteceu algo?

Quando são tarefas mto específicas eu gosto de simplesmente lançar a exception pra que seja tratada por que for "chamar" essa tarefa.

Por exemplo, vc tem uma classe responsável por salvar um conteúdo em um arquivo. Ela serve unicamente pra isso. Então, se acontecer algum erro nesse processo, é interessante que quem a esteja usando saiba o que aconteceu, certo?
Nesse caso, eu lançaria a exception e trataria na classe que está utilizando a de geração de arquivo.
Você poderia ainda criar uma exception customizada, pra passar mais detalhes sobre o erro e lançá-la da mesma forma.
GOSTEI 1

Mais Respostas

Ebase Sistemas

Ebase Sistemas

07/07/2017

Eu sempre lanço pras camadas superiores e trato geralmente na view.

Patrick Segantine
GOSTEI 0
Eduardo Spinola

Eduardo Spinola

07/07/2017

Oi, Augusto!

Você pode verificar se o método que contém o código que pode gerar uma exceção deve ser o responsável por tratá-la. Caso positivo, trate nesse método. Caso negativo, você pode lançar a exceção. Se o método que chamou o método que gerou o erro é capaz de tratar a exceção, trate a exceção nele. Caso contrário, você pode lançá-la novamente. Esse fluxo segue até a exceção seja tratada. Uma das opções, como mencionado por Ebase Sistemas, é fazer o tratamento na view.
GOSTEI 0
POSTAR