La struttura ad albero ExceptionList fa parte della struttura ad albero del messaggio logica nella quale il flusso di messaggi scrive le informazioni sulle eccezioni che si verificano quando viene elaborato un messaggio.
La root della struttura ad albero ExceptionList è chiamata ExceptionList e la struttura ad albero consiste in una serie di zero o più descrizioni di eccezioni. La struttura ad albero ExceptionList è popolata dal flusso di messaggi se si verifica un'eccezione. Se non si verificano condizioni di eccezione durante l'elaborazione del messaggio, l'elenco di eccezioni associato a quel messaggio consiste solo in un elemento root. Questo è, in effetti, un elenco di eccezioni vuoto.
Alla struttura ad albero ExceptionList si può accedere da altri nodi all'interno del flusso di messaggi che ricevono il messaggio dopo che si è verificata l'eccezione. E' possibile modificarne il contenuto solo nel nodo Compute.
Se si verifica una condizione di errore, l'elaborazione del messaggio è sospesa e si genera un'eccezione. Il controllo viene trasmesso a un livello più alto, cioè, un blocco catch di inclusione. Viene creata una struttura ExceptionList per descrivere la condizione di errore e l'intero messaggio, insieme alla struttura LocalEnvironment e ExceptionList appenam popolata, viene trasmesso attraverso un percorso del flusso di messaggi per la gestione delle eccezioni.
Il child di ExceptionList è sempre RecoverableException. Esiste in genere solo un child della root, sebbene in alcune circostanze se ne potrebbe generare più di uno. Il child della struttura ExceptionList contiene un certo numero di child, l'ultimo dei quali fornisce ulteriori informazioni specifiche per il tipo di eccezione, che può essere:
La struttura dell'albero relativo all'elenco di eccezioni per RecoverableException è mostrata di seguito:
La struttura della descrizione delle eccezioni può essere sia ripetuta che nidificata per produrre una struttura ad albero ExceptionList. In questa struttura:
I child nella struttura ad albero sono organizzati in un certo numero di elementi nome-valore che forniscono dettagli sull'eccezione e zero o più elementi nome il cui nome è Inserimento. Il numero messaggio NLS (National Language Support) rappresentato da un elemento nome-valore identifica un messaggio di errore WebSphere Message Broker. I valori Inserimento sono utilizzati per sostituire le variabili all'interno di questo messaggio e forniscono ulteriori dettagli sulla causa dell'eccezione.
Gli elementi nome-valore all'interno dell'elenco di eccezioni illustrato nella figura precedente sono descritti nella seguente tabella.
Nome | Tipo | Descrizione | |
---|---|---|---|
File1 | Stringa | Nome file di origine C++ | |
Riga1 | Numero intero | Numero riga file di origine C++ | |
Funzione1 | Stringa | Nome funzione di origine C++ | |
Tipo2 | Stringa | Tipo oggetto di origine | |
Nome2 | Stringa | Nome oggetto di origine | |
Etichetta2 | Stringa | Etichetta oggetto di origine | |
Testo1 | Stringa | Testo aggiuntivo | |
Catalogo3 | Stringa | Nome catalogo messaggi NLS4 | |
Severità3 | Numero intero | 1 = informazioni |
|
Numero3 | Numero intero | Numero messaggio NLS4 | |
Inserimento3 | Tipo | Numero intero | Il tipo di dati del valore: 0 = Unknown |
Testo | Stringa | Il valore dei dati | |
Note:
|
Quando l'elaborazione del flusso di messaggi è completata, la struttura ad albero ExceptionList viene eliminata.
L'Esempio Prenotazioni per compagnie aeree utilizza la struttura ExceptionList nel flusso di messaggi XML_Reservation per trasmettere le informazioni relative all'errore al nodo Throw, che genera un messaggio di errore che include le informazioni da ExceptionList.