El árbol de 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 de 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 de 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 de 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. El contenido del árbol de lista de excepciones sólo se puede modificar en un nodo que proporcione una interfaz para modificar el árbol de mensajes de salida; por ejemplo, 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 el árbol de 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.
La figura siguiente muestra la estructura del árbol de lista de excepciones para una excepción recuperable:
La estructura de la descripción de excepción se puede repetir y anidar para generar un árbol de 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 | Nombre del archivo fuente C++ | |
Line1 | Entero | Número de línea del archivo fuente C++ | |
Function1 | Serie | Nombre de la función fuente C++ | |
Type2 | Serie | Tipo del objeto fuente | |
Name2 | Serie | Nombre del objeto fuente | |
Label2 | Serie | Etiqueta del objeto fuente | |
Text1 | Serie | Texto adicional | |
Catalog3 | Serie | 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 | El valor de los datos |
Cuando se ha completado el flujo de mensajes, se descarta el árbol de lista de excepciones.