A árvore ExceptionList é uma parte da árvore de mensagem lógica na qual o fluxo de mensagens grava as informações sobre as exceções que ocorrem quando uma mensagem é processada.
A raiz da árvore ExceptionList é chamada de ExceptionList e a árvore consiste em um conjunto de zero ou mais descrições de exceções. A árvore Lista de Exceções será ocupada pelo fluxo de mensagens se ocorrer uma exceção. 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. Essa é, de fato, uma lista de exceções vazia.
A árvore Lista de Exceções pode ser acessada por outros nós no fluxo de mensagens que recebem a mensagem após ocorrer a exceção. Você pode modificar seu conteúdo apenas no nó Compute.
Se ocorrer uma condição de exceção, o processamento de mensagens será suspenso e será emitida uma exceção. O controle é retornado a um nível superior, ou seja, um bloco de captura de inclusão. Uma Lista de Exceções é construída para descrever a condição de falha e toda a mensagem, junto com o Ambiente Localt, e a Lista de Exceções recém-ocupada é propagada através de um caminho do fluxo de mensagens de tratamento de exceções.
O filho de ExceptionList é sempre RecoverableException. Normalmente, existe apenas um filho da raiz, embora mais de um possa ser gerado em algumas circunstâncias. O filho da Lista de Exceções contém vários filhos, o último dos quais fornece informações adicionais específicas para o tipo de exceção, que pode ser uma das seguintes:
A estrutura da árvore da lista de exceções para um RecoverableException é mostrada abaixo:
A estrutura da descrição de exceção pode ser repetida e aninhada para produzir uma árvore 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 de nome-valor na lista de exceções mostrada na figura acima são descritos na tabela abaixo.
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 | |
Notes:
|
Quando o processamento do fluxo de mensagens estiver concluído, a árvore Lista de Exceções será descartada.
A Amostra Airline Reservations utiliza a ExceptionList no fluxo de mensagens XML_Reservation para transmitir as informações de erro para o nó Throw, que gera uma mensagem de erro que inclui as informações da ExceptionList.