Tratamiento de excepciones

LIBP-0281 (Libro de pautas)

Tener en cuenta las siguientes indicaciones para el tratamiento de las excepciones

Pautas

TítuloCarácter
Log de excepcionesObligatoria
Excepciones capturadas en el métodoObligatoria
Excepciones no controladas en capa de acceso a datosObligatoria
Excepciones no controladas en capa de servicioObligatoria
Excepciones en la capa vista / controladorObligatoria

Log de excepciones

Registrar las excepciones en un Log

Mantener un log de todas las excepciones que ocurren en el sistema y que sea lo más legible posible. Es importante que este log tenga mecanismos para controlar su crecimiento ya que existen ataques de denegación de servicio que se basan en explotar esta vulnerabilidad.

Excepciones capturadas en el método

Capturar las excepciones en el método en el que se producen

Las excepciones controladas deben ser capturadas en el método en el que se producen, transformadas en las excepciones de aplicación adecuadas y enviadas hacia las capas superiores.

Excepciones no controladas en capa de acceso a datos

Capturar las excepciones no controladas en la capa de servicio

Las excepciones de tipo no controladas que se lancen en la capa de acceso a datos deberán ser capturadas en la capa de servicio y traducidas en una excepción de tipo Aplicación.

Excepciones no controladas en capa de servicio

Utilizar un mecanismo de control de errores web para estas excepciones

Las excepciones de tipo no controlado que se produzcan en la capa de servicio se considerarán en general errores del sistema. Para evitar que su ocurrencia se muestre al usuario se tendrá que utilizar el mecanismo de control de errores Web.

Excepciones en la capa vista / controlador

Capturar estas excepciones en el backing bean de cada método

En la capa vista / controlador se tendrán que capturar tanto las excepciones de tipo Aplicación que provienen de las capas inferiores como las que se produzcan en esta capa. Las excepciones serán capturadas en el backing bean dentro de cada uno de los métodos donde se ejecuta el acceso a la capa de servicio.