Die Ausnahmeliste-Baumstruktur ist ein Teil der logischen Nachrichtenbaumstruktur, in welcher der Nachrichtenfluss Informationen zu Ausnahmen schreibt, die beim Verarbeiten einer Nachricht auftreten.
Das Stammverzeichnis der Ausnahmeliste-Baumstruktur trägt die Bezeichnung 'ExceptionList', und die Baumstruktur besteht aus einem Satz von Null oder mehreren Ausnahmebeschreibungen. Die Ausnahmeliste-Baumstruktur wird vom Nachrichtenfluss aufgefüllt, wenn eine Ausnahme auftritt. Wenn während der Nachrichtenflussverarbeitung keine Ausnahmebedingungen auftreten, besteht die Ausnahmeliste, die mit dieser Nachricht verknüpft ist, aus nur einem Stammelement. D. h. es liegt eine leere Ausnahmeliste vor.
Auf die Ausnahmeliste-Baumstruktur kann von anderen Knoten innerhalb des Nachrichtenflusses, welche die Nachricht nach Auftreten der Ausnahme empfangen, zugegriffen werden. Der Inhalt kann nur im Rechenknoten verändert werden.
Wenn eine Ausnahmebedingung auftritt, wird die Nachrichtenverarbeitung zurückgestellt und eine Ausnahmebedingung ausgelöst. Die Steuerung wird an eine höhere Ebene zurückgegeben, d. h. an einen einschießenden Catch-Block. Es wird eine Ausnahmeliste (ExceptionList) erstellt, um die Fehlerbedingung zu beschreiben, und die gesamte Nachricht wird zusammen mit der lokalen Umgebung (LocalEnvironment) und der neu aufgefüllten Ausnahmeliste (ExceptionList) über einen Ausnahmebedingungsbehandlung-Flusspfad weitergegeben.
Das untergeordnete Element von 'ExceptionList' ist immer 'RecoverableException'. Es gibt normalerweise nur ein untergeordnetes Element des Stammverzeichnisses, aber in einigen Fällen können auch mehrere generiert werden. Das untergeordnete Element von 'ExceptionList' enthält wiederum mehrere untergeordnete Elemente, von denen das letzte weitere Informationen zu diesem bestimmten Ausnahmetyp enthält; dieser kann von folgender Art sein:
Nachfolgend wird die Struktur des Ausnahmelistenbaumes für 'RecoverableException' gezeigt:
Die Ausnahmebeschreibungsstruktur kann sowohl wiederholt als auch verschachtelt werden, um eine Ausnahmeliste-Baumstruktur zu erstellen. In dieser Baumstruktur gilt Folgendes:
Die untergeordneten Elemente in der Baumstruktur haben die Form einer Reihe von Namenswert-Elementen, welche Details der Ausnahmebedingung angeben, und Null oder mehrere Namenselemente, deren Name 'Insert' ist. Die NLS-Nachrichtennummer (NLS = National Language Support; Unterstützung der Landessprache), die in einem Namenswert-Element erkannt wird, identifiziert eine WebSphere Message Broker-Fehlernachricht. Die Einfügewerte werden verwendet, um die Variablen innerhalb dieser Nachricht zu ersetzen und um weitere Details zur Ursache der Ausnahmebedingung bereitzustellen.
Die Namenswert-Elemente innerhalb der Ausnahmeliste in der obigen Abbildung werden in der nachfolgenden Tabelle beschrieben.
Name | Typ | Beschreibung | |
---|---|---|---|
Datei1 | Zeichenfolge | C++ Quellendateiname | |
Zeile1 | Integer | C++ Quellendatei-Zeilennummer | |
Funktion1 | Zeichenfolge | C++ Quellenfunktionsname | |
Typ2 | Zeichenfolge | Quellenobjekttyp | |
Name2 | Zeichenfolge | Quellenobjektname | |
Bezeichnung2 | Zeichenfolge | Quellenobjektbezeichnung | |
Text1 | Zeichenfolge | Zusätzlicher Text | |
Katalog3 | Zeichenfolge | NLS-Nachrichtenkatalogname4 | |
Fehlerkategorie3 | Integer | 1 = Information |
|
Zahl3 | Integer | NLS-Nachrichtennummer4 | |
Einfügung3 | Typ | Integer | Der Datentyp des Werts: 0 = unbekannt |
Text | Zeichenfolge | Der Datenwert | |
Hinweise:
|
Wenn die Verarbeitung des Nachrichtenflusses abgeschlossen ist, wird die Ausnahmeliste-Baumstruktur verworfen.
Das Beispielprogramm 'Airline Reservations' verwendet die Ausnahmeliste im XML_Reservation-Nachrichtenfluss zur Weiterleitung von Fehlerinformationen an den Ausnahmeknoten, der eine Fehlernachricht generiert, die die Informationen aus der Ausnahmeliste enthält.