Fluid Attacks logo
Contact Us
Young hacker smiling
Zero false positives

Expert intelligence + effective automation

Contact logo Contact Us
GET A DEMO

Manejo Adecuado de Excepciones

Necesidad

Generar excepciones seguras en una aplicación Java.

Contexto

A continuación se describen las circunstancias bajo las cuales la siguiente solución tiene sentido:

  1. Se dispone de un programa realizado en Java 1.4 o superior.

Solución

Hoy en día, el mundo de la tecnología viene dando pasos agigantados con el fin de facilitar cada vez más la vida de las personas en sus quehaceres rutinarios. Y es debido a ese avance tecnológico que se ha abierto una enorme puerta de oportunidades tanto para las empresas como para las personas del común, el desarrollo de software.

Es mucho lo que se podría decir acerca del desarrollo del software y más aún, es todo lo que se podría decir sobre como se debería desarrollar de una manera segura con el fin de proteger la información que, en última instancia, es el activo más importante en esta era tecnológica.

Uno de los grandes temas relacionados con el desarrollo de software, el cual será tratado en esta solución, es el manejo adecuado y seguro de las excepciones.

  1. Una excepción no es más que la indicación de que un problema ocurrió en la ejecución normal de un programa, es decir, la excepción informa que se presentó un error mientras la aplicación estaba funcionando. Dicho error pudo ser generado por cualquier motivo, y de ahí la importancia de un manejo adecuado de las excepciones, determinar de manera precisa cuál fue el motivo del error, y así generar algún cambio que impida que dicho error se vuelva a presentar.

  2. A groso modo, las excepciones funcionan de la siguiente manera:

    1. Cuando se genera un error, se crea una excepción la cual es lanzada. Además, la ejecución normal del programa se detiene.

    2. En el método que generó la excepción, se busca un manejador que gestione la excepción creada. En caso de que el método no tenga como gestionar la excepción, esta es enviada al método que invocó el método donde se presentó el error.

    3. Si se encuentra un manejador apropiado, este trata la excepción y el programa continúa su ejecución normal. En caso de que no halla un manejador adecuado, el compilador muestra el error presentado y el programa deja de funcionar.

  3. En Java, el manejo de excepciones se hace dentro de los sentencias de código try{} y catch{}. En el try{} van las líneas de código que se consideran, podrían generar un error durante su ejecución. Dentro del catch{}, se especifica la forma en que será tratada la excepción creada a causa del error presentado en el try{}.

  4. Como se ha visto, las excepciones poseen información de los errores que se generan, por tanto, se debe evitar que el usuario final conozca dicha información, en pocas palabras, se debe evitar revelar información del sistema al usuario.

  5. En ese orden de ideas, la información generada por las excepciones debe ser almacenada en logs o bitácoras del sistema de la manera más clara y concisa posible, de esa forma, será más fácil hacerles un adecuado seguimiento.

  6. Todas las excepciones deben ser tratadas, valga la redundancia, sin excepción. No hacerlo podría ocasionar un comportamiento inestable de la aplicación y generar inconsistencia en la trazabilidad de la información.

  7. Por último, el tratamiento de las excepciones debe ser lo más específico posible, así que, se recomienda desarrollar clases personalizadas que permitan hacer un adecuado almacenamiento de las excepciones en los logs de la aplicación.


Service status - Terms of Use