The ExceptionList tree is a part of the logical message tree in which the message flow writes information about exceptions that occur when a message is processed.
The root of the ExceptionList tree is called ExceptionList, and the tree consists of a set of zero or more exception descriptions. The ExceptionList tree is populated by the message flow if an exception occurs. If no exception conditions occur during message flow processing, the exception list that is associated with that message consists of a root element only. This list is, in effect, an empty list of exceptions.
The ExceptionList tree can be accessed by other nodes within the message flow that receive the message after the exception has occurred. You can modify the contents of the ExceptionList tree only in the Compute node.
If an exception condition occurs, message processing is suspended and an exception is thrown. Control is passed back to a higher level, that is, an enclosing catch block. An ExceptionList is built to describe the failure condition, and the whole message, together with the LocalEnvironment and the newly-populated ExceptionList, is propagated through an exception-handling message flow path.
The structure of the exception list tree for a RecoverableException is shown below:
The exception description structure can be both repeated and nested to produce an ExceptionList tree. In this tree:
The children in the tree take the form of a number of name-value elements that give details of the exception, and zero or more name elements whose name is Insert. The NLS (National Language Support) message number identified in a name-value element identifies a WebSphere Message Broker error message. The Insert values are used to replace the variables within this message and provide further detail about the cause of the exception.
The name-value elements within the exception list shown in the figure above are described in the table below.
Name | Type | Description | |
---|---|---|---|
File1 | String | C++ source file name | |
Line1 | Integer | C++ source file line number | |
Function1 | String | C++ source function name | |
Type2 | String | Source object type | |
Name2 | String | Source object name | |
Label2 | String | Source object label | |
Text1 | String | Additional text | |
Catalog3 | String | NLS message catalog name4 | |
Severity3 | Integer | 1 = information |
|
Number3 | Integer | NLS message number4 | |
Insert3 | Type | Integer | The data type of the value: 0 = Unknown |
Text | String | The data value |
When the message flow processing is complete, the ExceptionList tree is discarded.