El árbol Lista de excepciones es una parte del árbol lógico de mensajes en la que el flujo de mensajes graba información sobre las excepciones que se producen cuando se procesa un mensaje.
El elemento raíz del árbol Lista de excepciones se denomina Lista de excepciones, y el árbol consta de un conjunto de cero o más descripciones de excepciones. Si se produce una excepción, el flujo de mensajes rellena el árbol Lista de excepciones. Si no se producen condiciones de excepción durante el proceso del flujo de mensajes, la lista de excepciones asociada a ese mensaje sólo consta de un elemento raíz. Es decir, de hecho, una lista de excepciones vacía.
Al árbol Lista de excepciones pueden acceder otros nodos dentro del flujo de mensajes que reciban el mensaje después de que se produzca la excepción. Puede modificar su contenido sólo en el nodo Compute.
Si se produce una condición de excepción, se suspende el proceso del mensaje y se genera una excepción. El control se devuelve a un nivel superior, es decir, a un bloqueo de captación que lo incluye. Se genera una lista de excepciones para describir la condición del error, y el mensaje entero, junto con Entorno local y la Lista de excepciones que se acaba de rellenar, se propagan a través de una ruta de flujo de mensajes de manejo de excepciones.
El hijo de Lista de excepciones siempre es RecoverableException. Normalmente sólo hay un hijo del elemento raíz, aunque bajo ciertas circunstancias pueden generarse más de uno. El hijo de Lista de excepciones contiene varios hijos, el último de los cuales proporciona información adicional específica del tipo de excepción, que puede ser:
A continuación se muestra la estructura del árbol de lista de excepciones para RecoverableException:
La estructura de la descripción de excepción puede ser repetida y anidad para generar un árbol Lista de excepciones. En este árbol:
Los hijos en el árbol toman la forma de varios elementos nombre-valor que proporcionan detalles de la excepción, y cero o más elementos de nombre cuyo nombre es Insert. El número de mensaje NLS (Soporte de idiomas nacionales) identificado en un elemento nombre-valor identifica un mensaje de error de WebSphere Message Broker. Los valores Insert se utilizan para sustituir las variables dentro de este mensaje y proporcionan detalles adicionales sobre la causa de la excepción.
Los elementos nombre-valor dentro de la lista de excepciones que se muestran en la figura anterior se describen en la tabla siguiente.
Nombre | Tipo | Descripción | |
---|---|---|---|
File1 | Serie de caracteres | Nombre del archivo fuente C++ | |
Line1 | Entero | Número de línea del archivo fuente C++ | |
Function1 | Serie de caracteres | Nombre de la función fuente C++ | |
Type2 | Serie de caracteres | Tipo del objeto fuente | |
Name2 | Serie de caracteres | Nombre del objeto fuente | |
Label2 | Serie de caracteres | Etiqueta del objeto fuente | |
Text1 | Serie de caracteres | Texto adicional | |
Catalog3 | Serie de caracteres | Nombre del catálogo de mensajes NLS4 | |
Severity3 | Entero | 1 = información |
|
Number3 | Entero | Número del mensaje NLS4 | |
Insert3 | Tipo | Entero | El tipo de datos del valor: 0 = Desconocido |
Text | Serie de caracteres | El valor de los datos | |
Notas:
|
Cuando finaliza el proceso del flujo de mensajes, se elimina el árbol Lista de excepciones.
El Ejemplo Reserva de vuelos utiliza la lista de excepciones del flujo de mensajes XML_Reservation para pasar información de error al nodo Throw, lo que genera un mensaje de error que incluye la información de la lista de excepciones.