Melhores Práticas no tratamento de erros(Exceptions) em java:
Java define 2 tipos de Exceptions:
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
- Checked Exceptions
- Unchecked Exceptions
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