A árvore da lista de exceções é uma parte da árvore de mensagem lógica na qual o fluxo de mensagens grava informações sobre exceções que ocorrem quando uma mensagem é processada.
A raiz da árvore da lista de exceções é chamada de ExceptionList e a árvore consiste em um conjunto de zero ou mais descrições de exceção. A árvore da lista de exceções é preenchida pelo fluxo de mensagens se uma exceção ocorre. Se não ocorrer nenhuma condição de exceção durante o processamento do fluxo de mensagens, a lista de exceções associada a essa mensagem consistirá apenas em um elemento-raiz. Esta é, de fato, uma lista de exceções vazia.
A árvore da lista de exceções pode ser acessada por outros nós no fluxo de mensagens que recebem a mensagem após a exceção ter ocorrido. Você pode modificar o conteúdo da árvore da lista de exceções apenas em um nó que fornece uma interface para modificar a árvore de mensagem de saída; por exemplo, o nó Compute.
Se ocorrer uma condição de exceção, o processamento de mensagens será suspenso e será emitida uma exceção. O controle é transmitido de volta para um nível superior; ou seja, um bloqueio de capturar de fechamento. Uma lista de exceções é criada para descrever a condição de falha, e a mensagem inteira, juntamente com a árvore de ambiente local, e a lista de exceções recém-preenchida é propagada através de um caminho a do fluxo de mensagens de manipulação de exceção.
A figura a seguir mostra a estrutura da árvore da lista de exceções para uma exceção recuperável:
A estrutura da descrição de exceção pode ser repetida e aninhada para produzir uma árvore da lista de exceções. Nesta árvore:
Os filhos na árvore utilizam o formato de vários elementos de nome-valor que fornecem detalhes da exceção e zero ou mais elementos de nome cujo nome é Inserir. O número da mensagem NLS (National Language Support) identificado em um elemento de nome-valor identifica uma mensagem de erro do WebSphere Message Broker. Os valores Inserir são utilizados para substituir as variáveis nessa mensagem e fornecem detalhes adicionais sobre a causa da exceção.
Os elementos nome-valor na lista de exceções mostrada na figura acima são descritos na seguinte tabela.
Nome | Tipo | Descrição | |
---|---|---|---|
Arquivo1 | String | Nome do arquivo de origem C++ | |
Linha1 | Integer | Número da linha do arquivo de origem C++ | |
Função1 | String | Nome da função de origem C++ | |
Tipo2 | String | Tipo do objeto de origem | |
Nome2 | String | Nome do objeto de origem | |
Rótulo2 | String | Rótulo do objeto de origem | |
Texto1 | String | Texto adicional | |
Catálogo3 | String | Nome do catálogo de mensagens NLS4 | |
Severidade3 | Integer | 1 = informações |
|
Número3 | Integer | Número da mensagem NLS4 | |
Inserir3 | Tipo | Integer | O tipo de dados do valor: 0 = Desconhecido |
Texto | String | O valor de dados |
Quando o processamento do fluxo de mensagens está completo, a árvore da lista de exceções é descartada.