4. Revisar y manipular errores por defecto
En la clase de hoy vamos a aprender cómo revisar y manipular errores por defecto. Se forzarán 3 tipos de errores para que se pueda observar el comportamiento del evento de Mule, cuando lanza un mensaje de error y el contenido del mismo.
Flujo de errores por defecto
Normalmente en un Flow se configuran los errores para poder manipularlos, sea con un mensaje o realizando una acción.
Cuando el error sucede en un evento de Mule, pueden pasar 2 cosas:
- El Flow para de ejecutarse y devuelve un mensaje de error por defecto.
- El evento se pasa al primer componente configurado en la sección Error Handler, la zona del manipulador de errores.
Os dejo un pequeño diagrama donde se puede observar las dos perspectivas del flujo de errores.
En esta sección nos centraremos en el primer punto. Si no hay ningún manipulador de errores definido, se utilizarán los configurados por Mulesoft por defecto.
Los errores por defecto no pueden configurarse ni manipularse, ya que vienen definidos a nivel global y los mensajes que devuelve son predefinidos. En la clase podréis observar 3 tipos de errores diferentes.
La diferencia entre los errores por defecto y los configurados es que el primero para la ejecución del evento y muestra el mensaje con la información del error.
Estructura del error
Cuando se lanza un error se crea un objeto. En la clase se observará más de cerca este objeto creado, mediante el modo DEBUG de la aplicación.
Las propiedades más importantes del error, o más visibles, son las siguientes:
- error.description, por defecto esta propiedad es la que se muestra cuando el evento de Mule finaliza por algún error. Es una descripción que informa del error que ha sucedido según las definiciones globales de los errores por defecto. El valor de esta propiedad es de tipo String.
- error.errorType, es una propiedad de tipo objeto que contiene la información jerárquica del error, que ahora se explicará en detalle.
Jerarquía Error Types
Los Error Types están identificados por un Namespace (rojo) y un identificador (azul).
HTTP:UNAUTHORIZED, HTTP:CONNECTIVITY, VALIDATION:INVALID_BOOLEAN
Cuando se visualiza, en el modo DEBUG, la información de Error Type se observa que sigue una jerarquía que se define en el objeto del error.
Os recomiendo que paréis el video, en el momento en el que se muestra la información de Error Type, para ubicar en que sección se encuentra el tipo de error.
Normalmente la mayoría de errores se encuentran en la sección ANY, es el mismo caso que el error que os mostraba antes, y este, se encontraría en la sección ANY –> CONNECTIVITY.
Finalmente, vamos a manipular la propiedad de error y el código que devolverá al realizar la llamada a un recurso, ¡entra a la clase y no te lo pierdas!.
Sin más, Revisar y manipular errores por defecto ¡dentro vídeo!
Clases del curso
- 1. Ejecutar eventos en paralelo con Scatter-Gather (12:46)
- 2. Enrutar un evento según una condición con Choice (27:27)
- 3. Validar datos de un evento de Mule (14:17)
- Punto de Control 1
- 4. Revisar y manipular errores por defecto (19:51)
- 5. Manipuladores de errores (19:09)
- 6. Tipos de errores personalizados (18:54)
- 7. Error Handler a nivel de Flow (19:51)
- 8. Error Handler a nivel de proceso (20:59)
- 9. Error Handler de APIKit (23:06)
- 10. Error Handler de sistema (17:49)
- Punto de Control 2