Fórum Quando devo tratar e quando devo lançar uma exceção? #583420

07/07/2017

0

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

Responder

Post mais votado

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.

Clayton Silva

Clayton Silva
Responder

Gostei + 1

Mais Posts

09/07/2017

Ebase Sistemas

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

Patrick Segantine
Responder

Gostei + 0

28/07/2017

Eduardo Spinola

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

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar