1
resposta

Exception

Opa, tudo bem?

Eu gostaria de saber se é considerado uma boa prática utilizar a classe "Exception" como base para todos os meus catchs.

Já ouvi falar que isso não é bem visto.

Obrigado.

1 resposta

Oi Pedro, tudo bem?

A melhor resposta para essa pergunta seria: depende :)

Em geral, as bibliotecas devem ser mais conservadoras e lançar exceptions mais especificas. Mas olhando para uma aplicação mais "top level" (por exemplo, em seu método main ou no topo do método de ação em um controller, etc...) você pode ser mais genérico com as exceptions que captura.

Pense assim, toda vez que você coloca um catch de exception (totalmente genérico) esse catch vai pegar todas as exceções e isso pode mascarar problemas que não tem nada a ver com o que você esperaria de erro, como "OutOfMemoryException", que é uma exception que deveria ser lançada ao invés de capturada. Por outro lado, se você está falando sobre a captura de exceções dentro de seu método main() é provavelmente bem mais tranquilo colocar um catch exception bem genérico :)

Abraço!