Red de conocimiento informático - Conocimiento del nombre de dominio - ¿La mejor manera de manejar excepciones en Java?

¿La mejor manera de manejar excepciones en Java?

El manejo de excepciones es una parte importante del desarrollo de Java. Es un requisito no funcional para que cada aplicación maneje cualquier condición de error, como inaccesibilidad de recursos, entrada ilegal, entrada vacía, etc. Java proporciona varias funciones de manejo de excepciones integradas en el propio lenguaje en forma de palabras clave try, catch y finalmente. El lenguaje de programación Java también le permite crear nuevas excepciones y lanzarlas utilizando las palabras clave throw y throws. De hecho, en la programación Java, el manejo de excepciones de Java no es tan simple como conocer la sintaxis. Debe seguir la biblioteca JDK estándar y varios códigos fuente abiertos para manejar errores y excepciones. Aquí Beida Jade Bird discutirá algunas de las mejores prácticas de Java con respecto al manejo de excepciones.

1. Utilice excepciones marcadas para errores recuperables y errores no marcados para errores de programación.

Elegir excepciones marcadas o no marcadas siempre resulta confuso para los programadores de Java. Las excepciones marcadas garantizan que proporcione código de manejo de excepciones para condiciones de error. Esta es una forma del lenguaje de obligarlo a escribir código robusto, pero también introduce mucho desorden y lo hace ilegible. Por supuesto, detectar excepciones y hacer algo al respecto parece razonable si se cuenta con una estrategia de reemplazo y recuperación. Elija entre excepciones marcadas y excepciones de tiempo de ejecución en la programación Java.

2. Cerrar o liberar recursos en el bloque finalmente.

Esta es una mejor práctica bien conocida en la programación Java cuando se trata de clases de red y IO, es equivalente a un estándar. . Cerrar recursos en el bloque finalmente garantiza una liberación razonable de recursos anteriores y escasos en condiciones de ejecución normales y anormales, lo cual está garantizado por el bloque finalmente. A partir de Java 7, el lenguaje tiene una característica más interesante: la automatización de la gestión de recursos o los bloques ARM pueden implementar esta característica. No obstante, todavía debemos recordar cerrar los recursos en el bloque finalmente, lo cual es importante para liberar recursos limitados como FileDescriptors, que se utilizan en el caso de la programación de sockets y archivos.

3. Incluir la causa de la excepción en el seguimiento de la pila.

Muchas veces, cuando se genera una excepción causada por otra excepción, las bibliotecas Java y el código fuente abierto envolverán una excepción en otro. Registrar e imprimir excepciones de raíz se vuelve muy importante. La clase de excepción de Java proporciona el método getCause para recuperar la causa de la excepción, lo que puede proporcionar más información sobre la causa de la excepción en el nivel raíz. Esta práctica de Java es muy útil al depurar o solucionar problemas. Recuerde siempre que si envuelve una excepción en otra excepción, debe pasar la excepción de origen al construir una nueva excepción.

4. Proporcione siempre información significativa y completa sobre las excepciones.

La información de la excepción es el lugar más importante, porque este es el primer lugar que ven los programadores, aquí puede encontrar la causa raíz de el problema. Aquí siempre se proporciona información precisa y auténtica.

5. Evite el uso excesivo de excepciones marcadas

Las excepciones marcadas tienen ciertas ventajas a la hora de hacer cumplir la ejecución, pero al mismo tiempo también destruyen el código y lo hacen legible al enmascarar la lógica empresarial. La sexualidad se reduce. Siempre que no abuse de las excepciones marcadas, puede minimizar estas situaciones y el resultado es un código más limpio. También puede utilizar las nuevas funciones de Java 7 para eliminar duplicados.

6. Convertir excepciones comprobadas en excepciones de tiempo de ejecución

Esta es una de las técnicas utilizadas para limitar el uso de excepciones comprobadas en la mayoría de los marcos como Spring. La mayoría de las excepciones comprobadas de JDBC están empaquetadas. en DataAccessException, y la excepción (DataAccessException) es una excepción no verificada.

Este es el beneficio que aportan las mejores prácticas de Java. Las excepciones específicas están restringidas a módulos específicos, como SQLException, que se coloca en la capa DAO, y las excepciones de tiempo de ejecución con un significado claro se lanzan a la capa del cliente.

7. Recuerde que las excepciones son costosas en términos de rendimiento.

Una cosa para recordar es que las excepciones son costosas y hacen que su código se ejecute lentamente. Si tiene un método que lee desde un ResultSet, a menudo generará una SQLException sin pasar al siguiente elemento, lo que se ejecutará mucho más lento que el código normal que no genera una excepción. Por lo tanto, se minimizan las capturas y movimientos de excepciones innecesarios, cuando no existe una razón fija. En lugar de simplemente lanzar y detectar excepciones, puede obtener una solución más limpia y eficaz si puede utilizar variables booleanas para representar los resultados de la ejecución. Corrija la causa raíz del error y evite la detección de excepciones innecesarias.