Struttura ad albero dell'elenco di eccezioni

La struttura ad albero dell'elenco di eccezioni è una parte della struttura ad albero logica (assemblaggio del messaggio) in cui il flusso di messaggi scrive le informazioni sulle eccezioni che si verificano quando un messaggio viene elaborato.

La root della struttura ad albero dell'elenco di eccezioni è chiamata ExceptionList ed è composta da una serie di zero o più descrizioni di eccezioni. La struttura ad albero dell'elenco di eccezioni viene popolata dal flusso di messaggi se si verifica un'eccezione. Se non si verificano condizioni di eccezione durante l'elaborazione del flusso di messaggi, 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 dell'elenco di eccezioni si può accedere da altri nodi del flusso di messaggi che ricevono il messaggio dopo che si è verificata l'eccezione. È possibile modificare il contenuto della struttura ad albero dell'elenco di eccezioni solo in un nodo che fornisce un'interfaccia per modificare la struttura ad albero del messaggio in uscita; ad esempio, il 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 creato un elenco di eccezioni per descrivere la condizione di errore e l'intero messaggio, insieme alla struttura ad albero dell'ambiente locale e all'elenco di eccezioni appena popolato, viene trasmesso attraverso un percorso del flusso di messaggi per la gestione delle eccezioni.

Il child di ExceptionList può essere uno qualsiasi dei tipi di eccezione inclusi nel seguente elenco. In genere, viene creato un solo elemento child della root, sebbene in alcune circostanze è possibile che ne vengano generati più di uno. Il child di ExceptionList contiene un numero di child, ognuno dei quali può essere anche uno dei tipi nel seguente elenco. L'ultimo di questi child fornisce ulteriori informazioni specifiche sul tipo di eccezione.
  • FatalException
  • RecoverableException
  • ConfigurationException
  • SecurityException
  • ParserException
  • ConversionException
  • DatabaseException
  • UserException
  • CastException
  • MessageException
  • SqlException
  • SocketException
  • SocketTimeoutException
  • UnknownException

La figura seguente mostra la struttura ad albero dell'elenco di eccezioni per un'eccezione che è possibile ripristinare:

Struttura ad albero dell'elenco di eccezioni per un'eccezione recuperabile

La struttura di descrizione delle eccezioni può essere sia ripetuta che nidificata per produrre una struttura ad albero dell'elenco di eccezioni. In questa struttura:

  • La profondità (cioè, il numero di fasi parent-child dalla root) rappresenta informazioni sempre più dettagliate per la stessa eccezione.
  • L'ampiezza della struttura ad albero rappresenta il numero di condizioni di eccezione separate che si sono verificate prima che fosse abbandonata l'elaborazione. Questo numero è in genere uno e ha come risultato una struttura ad albero dell'elenco di eccezioni composta da alcune descrizioni dell'eccezione connesse come rispettivi elementi child.
  • Nei punti numerati nella struttura ad albero:
    1. Questo child può essere uno qualsiasi dei tipi di eccezione elencati in precedenza in questo argomento. Tutti questi elementi hanno i child indicati; se presente, l'ultimo child è lo stesso elemento del proprio parent.
    2. Questo elemento potrebbe essere ripetuto.
    3. Se presente, questo child contiene gli stessi child del proprio parent.

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 di messaggio NLS (National Language Support) indicato in un elemento nome-valore identifica un messaggio di errore dell' IBM® App Connect Enterprise. 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 presenti nell'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 non NLS facoltativo
Catalogo3 Stringa Nome catalogo messaggi NLS4
Severità3 Numero intero
1 = informazioni
2 = avvertenza
3 = errore
Numero3 Numero intero Numero messaggio NLS4
Inserimento3 Tipo Numero intero Il tipo di dati del valore:
0 = Sconosciuto
1 = booleano
2 = Numero intero
3 = Virgola mobile
4 = Decimale
5 = Carattere
6 = Ora
7 = Ora GMT
8 = Data
9 = Data / ora
10 = Data / ora GMT
11 = Intervallo
12 = BLOB
13 = Matrice a bit
14 = Puntatore
Testo Stringa Il valore di dati
Note:
  1. Non utilizzare gli elementi File, Riga, Funzione e Testo per prendere decisioni sulla gestione delle eccezioni. Questi elementi garantiscono che le informazioni possano essere scritte in un log per essere utilizzate dal personale dell'assistenza IBM e sono soggette a modifiche sia nel contenuto che nell'ordine.
  2. Gli elementi Tipo, Nome ed Etichetta definiscono l'oggetto (in genere un nodo del flusso di messaggi) che stava elaborando il messaggio quando si è verificata la condizione di errore.
  3. Gli elementi Catalogo, Severità e Numero definiscono un messaggio NLS: gli elementi Inserimento che contengono i due elementi nome-valore mostrati definiscono gli inserimenti in quel messaggio NLS.
  4. Il nome del catalogo messaggi NLS e il numero del messaggio NLS fanno riferimento a un catalogo messaggi e a un numero messaggio traducibili.

Quando l'elaborazione del flusso di messaggi è completa, la struttura ad albero dell'elenco di eccezioni viene eliminata.