Melhores Práticas no tratamento de erros(Exceptions) em java:

Java define 2 tipos de Exceptions:

  • Checked Exceptions
Exceptions que extendem a classe Exception o código cliente sempre tem que tratar a possível exception com um catch, tratando, ou throws, jogando pra cima o erro.
  • Unchecked Exceptions
Todas as Exceptions que extendem a classe RuntimeException. A RuntimeException exception também extende a classe Exception, mas tem um tratamento diferenciado. O código cliente não é obrigado a tratar estas excessões.

Definindo Exceptions:
1 - Sempre que o código cliente não puder fazer algo com a exception use Unchecked Exceptions.
2 - Preserve a encapsulação do erro (Nunca use throw new Exception("erro neste metodo tal") em um catch)
3 - Não crie novas Exceptions customizadas se não forem adicionar informações importantes para o código cliente.
4 - Documente as Exceptions (javadoc com @throws, e documentacao do projeto)

Usando Exceptions:

1 - Sempre se certificar que não deixou nada aberto como conexão a banco (usar o finally)
2 - Não usar exceptions para controle de código... Exceptions são para situações excepcionais, não para sempre serem chamadas em uma determinada rotina.
3 - Nunca suprimir/ignorar Exceptions. Se a excessão não deve ser tratada ou não existe sentido o tratamento da excessão no codigo cliente, converta-a para RuntimeException(Unchecked Exception).
4 - Não capture/trate a excessão no nível principal (catch (Exception ex))
5 - Log Excessões apenas uma vez. Várias entradas no log confundem a depuração.

Referência:
http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html?page=2

Abs,
Ton

Comentários

Postagens mais visitadas