Tratamiento de excepciones
- Área: Gestión de Errores y Excepciones
- Tipo de pauta: Directriz
- Carácter de la pauta: Obligatoria
Tener en cuenta las siguientes indicaciones para el tratamiento de las excepciones
Pautas
Título | Carácter |
---|---|
Log de excepciones | Obligatoria |
Excepciones capturadas en el método | Obligatoria |
Excepciones no controladas en capa de acceso a datos | Obligatoria |
Excepciones no controladas en capa de servicio | Obligatoria |
Excepciones en la capa vista / controlador | Obligatoria |
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.
Contenidos relacionados
Código | Título | Tipo | Carácter |
---|---|---|---|
RECU-0585 | Excepciones propias de la lógica de negocio en PHP | Experiencia | Recomendado |
RECU-0668 | Limpieza en el código después de ejecutar código propio en Java | Ejemplo | Obligatorio |
RECU-0214 | Tratamiento de las excepciones en Java | Referencia | Recomendado |