2011-10-18 28 views
5

Estoy empezando a aprender Java y escribir mis primeras clases de utilidad en java que se supone que deben estar en producción. Estoy algo perdido cuando se trata de lidiar con excepciones. ¿Hay alguna figura aproximada sobre cuántas instrucciones try hay en una línea de código dada?Mejores prácticas en el manejo de excepciones java

¿Cuánta fracción de código se supone que trata con excepciones ... algún complemento para Eclipse?

¿Es una buena práctica incluir 3-4 instrucciones en un bloque try y detectar excepciones o incluir 10-12 líneas en un bloque try y luego incluir 2-3 declaraciones catch capturando diferentes tipos de excepciones decir ones throws por archivos relacionados o por mis propias clases o algunas otras clases de terceros ..? Lo primero es un poco desagradable para los ojos y es código de hinchazón tanto ..

Es esta práctica común solo y solo rodear ese código en bloque try que puede arrojar excepciones o está bien para etiquetar a lo largo del código circundante también intente intente decir cómo se está utilizando el identificador de archivo, etc.

¿Alguna sugerencia ...?

+2

te estás quedando sin camino. Primero intenta saber cuáles son las excepciones y sus tipos y qué es intentar, atrapar y tirar. Entonces estarás despejado. –

+2

Mi consejo: borre la frase "bloqueo de prueba" de su cerebro. Piense en lugar de "try-finally blocks". Captura excepciones donde puedas recuperar, o donde quieras registrarlas y seguir adelante ... esto generalmente se encuentra en un nivel muy alto en tu programa. – erickson

+0

primero mira mi respuesta aquí: http://stackoverflow.com/questions/7129979/java-exception-handling/7130076#7130076 y luego http://download.oracle.com/javase/tutorial/essential/exceptions/index .html podría ser el mejor tutorial para ti. –

Respuesta

2

"Es la mejor práctica para incluir 3-4 declaraciones en una excepción del bloque try y la captura o ..."

Creo que tiene que ser claro acerca de las excepciones primera.

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

Lo anterior es un fragmento de la manipulación de una excepción. En el manejo de excepciones, guardamos el código que podría generar una excepción en el bloque try{}, y si el statemnet en el bloque try genera una excepción, será interceptado por el bloque catch{}.

Si se incluye o no la instrucción 3-4 en try block y catch exception. .. no está determinado por REGLAS. Depende de su lógica y requisito de programa.


El siguiente enlace le ayuda a despejar funda sobre Excepciones Java: http://marakana.com/bookshelf/java_fundamentals_tutorial/exceptions.html

Para mejores prácticas acerca de las excepciones de Java, siga siguientes artículos y control de calidad.

Best practices for exception management in Java or C#

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

+0

También recomendaría este tutorial para comprender las mejores prácticas de uso de excepciones en Java: [Usar excepciones de forma efectiva en Java] (http://programmergate.com/use-exceptions-effectively/) –

0

Yo no contaría con líneas.

un bloque try catch tiene éxito como un bloque de código o falla como un bloque de código (en generalidades). Por lo tanto, puede considerar una 'unidad de trabajo' que se abarcará en un bloque de prueba/captura. Esta es la misma definición básica de un método. Entonces los dos a menudo pueden ir juntos.

Ponga un bloque try/catch en un método.

Un error de principiante (creo) es crear toneladas de bloques de captura de prueba individuales, casi al punto de uno por línea. Usualmente solo quieres uno grande, que abarque la unidad de trabajo que estás tratando de realizar.

1

Consulte esta ruta desde el tutorial de Java: http://download.oracle.com/javase/tutorial/essential/exceptions/index.html (Tenga en cuenta que esto es para Java 7).

Las mejores prácticas en el manejo de excepciones no se pueden expresar realmente en términos de proporciones de código. Primero aprenda la diferencia importante entre errores, excepciones y excepciones de tiempo de ejecución. Los errores y las excepciones son dos ramas separadas de la jerarquía Throwable. Las excepciones de tiempo de ejecución son tipos de excepciones especiales que no requieren declaración, ya que no se espera que sean tratadas por código ordinario. Una vez que comprenda lo que hace cada uno, ya está en marcha.

Tenga en cuenta que el manejo de excepciones no solo se basa en las mejores prácticas y el sentido común, sino que también está influenciado en cierto grado por el estilo y la opinión. A algunas personas les gusta detectar excepciones temprano, lo que genera muchos bloques de prueba y captura en el código. A otros les gusta rodear un mayor número de líneas con un intento.

Si estás en libertad de usar el JDK 7 en lugar de una versión anterior de Java, no investigan los recursos try-con-construyen y el mecanismo de múltiples capturas, tanto de lo que ayudará en la toma de la gestión de excepciones más elegante y la reducción código hinchado

Cuestiones relacionadas