Boas Práticas no Tratamento de Exceções Java

Estou começando a aprender Java e a escrever minhas primeiras classs de utilitários em java, que devem entrar em produção. Estou um pouco perdido quando se trata de lidar com exceções. Existe alguma estimativa de quantas instruções try existem em determinadas linhas de código?

Quanta fração de código deve lidar com exceções .. algum plugin para o Eclipse?

É uma prática recomendada include 3-4 instruções em um bloco try e capturar exceções ou include 10 a 12 linhas em um bloco try e depois include 2-3 instruções catch capturando diferentes tipos de exceções, digamos, aquelas lançadas por File related ou por meu próprio classs ou algumas outras classs de terceiros ..? O primeiro é um pouco desagradável para os olhos e é muito incômodo.

Esta é uma prática comum para apenas e apenas cercar esse código no bloco try que pode lançar exceção ou é bom para marcar o código circundante, bem dentro tente dizer como o identificador de arquivo está sendo usado etc.

Quaisquer pointers ..?

“É uma prática recomendada include 3-4 instruções em um bloco try e capturar exceções ou …”

Eu acho que você precisa ser claro sobre as exceções primeiro.

try { ...some code that throws exceptions } catch (Exception ex){ ex.printStacktrace(); } 

O acima é um fragment de manipulação de uma exceção. No tratamento de exceções, mantemos o código que pode gerar uma exceção no try{} block, e se o statemnet no try bloquear gerar exceção, ele será capturado pelo catch{} block.

Se deve ou não include a instrução 3-4 na exceção try block and catch. .. não é determinado por REGRAS. Depende da sua lógica e exigência do programa.


O link a seguir ajuda você a limpar a funda sobre as exceções Java : http://marakana.com/bookshelf/java_fundamentals_tutorial/exceptions.html

Para melhores práticas sobre exceções Java, siga os seguintes artigos e controle de qualidade.

Melhores práticas para gerenciamento de exceções em Java ou C #

http://www.wikijava.org/wiki/10_best_practices_with_Exceptions

Confira essa trilha no tutorial Java: http://download.oracle.com/javase/tutorial/essential/exceptions/index.html (observe que isso é para o Java 7).

As melhores práticas no tratamento de exceções não podem ser expressas em termos de proporções de código. Primeiro, aprenda a importante diferença entre erros, exceções e exceções de tempo de execução. Erros e exceções são dois ramos separados da hierarquia Throwable . As exceções de tempo de execução são tipos especiais de exceção que não exigem declaração, pois não devem ser tratadas com código comum. Depois de entender o que cada um faz, você está bem encaminhado.

Tenha em mente que o tratamento de exceções não é apenas as melhores práticas e o bom senso, mas também influenciado em algum grau pelo estilo e pela opinião. Algumas pessoas gostam de capturar exceções antecipadamente, levando a muitos blocos try-catch no código. Outros gostam de cercar um número maior de linhas com uma tentativa.

Se você tiver a liberdade de usar o JDK 7 em vez de uma versão Java mais antiga, investigue a construção try-with-resources e o mecanismo de multi-captura, que ajudarão a tornar o tratamento de exceções mais elegante e a reduzir o inchaço de código.

Eu não contaria linhas.

um bloco try catch é bem-sucedido como um bloco de código ou falha como um bloco de código (em generalidades). Então você pode considerar uma ‘unidade de trabalho’ para ser englobada em um bloco try / catch. Essa é a mesma definição básica de um método. Então os dois geralmente podem ir juntos.

Coloque um bloco try / catch em um método.

O erro de um iniciante (eu acho) é criar toneladas de blocos try catch individuais, quase no ponto de um por linha. Normalmente, você quer apenas um grande, que engloba a unidade de trabalho que você está tentando realizar.