Die Baumstruktur für Ausnahmelisten ist ein Teil der logischen
Nachrichtenbaumstruktur, in den der Nachrichtenfluss Informationen zu Ausnahmebedingungen schreibt,
die bei der Verarbeitung einer Nachricht auftreten.
Das Stammverzeichnis der Baumstruktur für Ausnahmelisten heißt 'ExceptionList', und die
Baumstruktur enthält keine oder mehrere Ausnahmebeschreibungen.
Die Baumstruktur für Ausnahmelisten
wird vom Nachrichtenfluss mit Daten gefüllt, wenn eine Ausnahmebedingung auftritt. Wenn während der
Nachrichtenflussverarbeitung keine Ausnahmebedingungen auftreten, besteht die Ausnahmeliste, die
dieser Nachricht zugeordnet ist, nur aus einem Stammelement. Im Klartext handelt es sich bei dieser
Liste um eine leere Ausnahmebedingungsliste.
Der Zugriff auf die Baumstruktur für Ausnahmelisten ist über andere Knoten im Nachrichtenfluss
möglich, die die Nachricht nach dem Auftreten der Ausnahmebedingung empfangen haben. Der Inhalt der
Baumstruktur für Ausnahmelisten kann nur in einem Knoten geändert werden, der eine Schnittstelle
zum Ändern der Struktur der abgehenden Nachricht bereitstellt, z. B. im
Compute-Knoten.
Wenn eine Ausnahme auftritt, wird die Nachrichtenverarbeitung ausgesetzt, und es wird eine
Ausnahmebedingung ausgegeben. Die Steuerung geht an eine höhere Ebene über, d. h. an einen
umschließenden Abfangblock. Eine Ausnahmeliste wird zur Beschreibung der Fehlerbedingung erstellt,
und die gesamte Nachricht wird gemeinsam mit der lokalen Umgebung und der gerade gefüllten
Ausnahmeliste über einen Nachrichtenflusspfad zur Verarbeitung von Ausnahmebedingungen
weitergegeben.
Bei dem untergeordneten Element von 'ExceptionList' kann es sich um einen der in der folgenden Liste aufgeführten Ausnahmebedingungstypen handeln. Normalerweise wird im Stammverzeichnis nur ein untergeordnetes
Element erstellt; unter bestimmten Umständen können jedoch auch mehrere Elemente generiert werden. Das untergeordnete Elemente von 'ExceptionList' enthält wiederum eine Reihe untergeordneter Elemente, bei denen es sich ebenfalls um einen der in der folgenden Liste enthaltenen Typen handeln kann. Das letzte dieser untergeordneten Elemente stellt weitere Informationen zum jeweiligen Ausnahmebedingungstyp bereit.
- FatalException (Schwerwiegende Ausnahmebedingung)
- RecoverableException (Behebbare Ausnahmebedingung)
- ConfigurationException (Konfigurationsausnahmebedingung)
- SecurityException (Sicherheitsausnahmebedingung)
- ParserException
- ConversionException
- DatabaseException (Datenbank-Ausnahmebedingung)
- UserException (Benutzer-Ausnahmebedingung)
- CastException (Umsetzungs-Ausnahmebedingung)
- MessageException (Nachrichten-Ausnahmebedingung)
- SqlException (SQL-Ausnahmebedingung)
- SocketException (Socket-Ausnahmebedingung)
- SocketTimeoutException (Socketzeitlimit-Ausnahmebedingung)
- UnknownException (Unbekannte Ausnahmebedingung)
Die folgende Abbildung zeigt die Struktur der Baumstruktur für Ausnahmelisten für eine behebbare
Ausnahme:
Die Struktur der Ausnahmebeschreibung kann sowohl wiederholt als auch verschachtelt sein und so
eine Baumstruktur für Ausnahmelisten erstellen. In dieser Baumstruktur gilt Folgendes:
- Die Verschachtelungstiefe (also die Anzahl der untergeordneten Elemente absteigend vom Stammverzeichnis) stellt immer detailliertere Informationen zu derselben Ausnahmebedingung zur Verfügung.
- Die Breite der Baumstruktur repräsentiert die Anzahl der separaten Ausnahmebedingungen, die vor
dem Abbruch der Verarbeitung aufgetreten sind. Für gewöhnlich ist dies eine Ausnahmebedingung.
Diese ergibt eine Baumstruktur für Ausnahmelisten, die aus mehreren Ausnahmebeschreibungen besteht,
welche in Form von untergeordneten Elementen miteinander verbunden sind.
- Die nummerierten Punkte bedeuten in der Baumstruktur Folgendes:
- Bei diesem untergeordneten Element kann es sich um einen der Ausnahmebedingungstypen handeln, die in der oben aufgeführten Liste enthalten sind. All diese Elemente verfügen über die angezeigten untergeordneten Elemente; falls vorhanden, ist das letzte untergeordnete Element mit seinem übergeordneten Element identisch.
- Dieses Element kann wiederholt vorkommen.
- Falls vorhanden, enthält dieses untergeordnete Element dieselben untergeordneten Elemente wie sein übergeordnetes Element.
Die untergeordneten Elemente in der Baumstruktur bestehen aus mehreren Name/Wert-Elementen,
die detaillierte Informationen zur Ausnahmebedingung bieten, sowie aus keinen oder mehreren
Namenselementen, deren Name 'Insert' lautet. Die NLS-Nachrichtennummer (National Language Support =
Unterstützung in der Landessprache), die in einem Name/Wert-Element angegeben ist, bezeichnet
eine Fehlernachricht von WebSphere Message
Broker. Die Insert-Werte ersetzen die Variablen in dieser Nachricht und geben detaillierte Informationen zur Ursache der Ausnahmebedingung.
Die Name/Wert-Elemente in der Ausnahmeliste, die in der Abbildung oben aufgeführt sind, werden
in der folgenden Tabelle beschrieben.
Name |
Typ |
Beschreibung |
File1 |
String |
Name der C++-Quellendatei |
Line1 |
Ganzzahl |
Zeilennummer der C++-Quellendatei |
Function1 |
String |
Name der C++-Quellenfunktion |
Type2 |
String |
Typ des Quellenobjekts |
Name2 |
String |
Name des Quellenobjekts |
Label2 |
String |
Kennsatz des Quellenobjekts |
Text1 |
String |
Optionaler Text ohne Unterstützung in der Landessprache |
Catalog3 |
String |
Name des NLS-Nachrichtenkatalogs4 |
Severity3 |
Ganzzahl |
1 = Information
2 = Warnung
3 = Fehler
|
Number3 |
Ganzzahl |
NLS-Nachrichtennummer4 |
Insert3 |
Typ |
Ganzzahl |
Der Datentyp des Werts: 0 = Unbekannt
1 = Boolesch
2 = Integer
3 = Gleitkommazahl
4 = Dezimalzahl
5 = Zeichen
6 = Uhrzeit
7 = GMT-Zeit
8 = Datum
9 = Zeitmarke
10 = GMT-Zeitmarke
11 = Intervall
12 = BLOB (Binäres Großobjekt)
13 = Bitmatrix
14 = Zeiger
|
Text |
String |
Der Datenwert |
Anmerkungen: - Ziehen Sie die Elemente 'File', 'Line', 'Function' und 'Text' nicht für die Entscheidungsfindung in Bezug auf die Ausnahmebedingungsbehandlung heran. Diese Elemente stellen sicher, dass Informationen zur Nutzung durch den IBM® Kundendienst in ein Protokoll geschrieben werden können. Sie unterliegen Änderungen bezüglich des Inhalts und der Reihenfolge.
- Die Elemente 'Type', 'Name' und 'Label' definieren das Objekt (für gewöhnlich einen Nachrichtenflussknoten), von dem die Nachricht verarbeitet wurde, als die Ausnahmebedingung auftrat.
- Die Elemente 'Catalog', 'Severity' und 'Number' definieren eine NLS-Nachricht: die Insert-Elemente, die die beiden angezeigten Namens-/Wertelemente enthalten, definieren die Einfügungen in diese NLS-Nachricht.
- Der Name des NLS-Nachrichtenkatalogs und die NLS-Nachrichtennummer verweisen auf einen in andere Sprachen übersetzbaren Nachrichtenkatalog und die Nachrichtennummer.
Sobald die Verarbeitung des Nachrichtenflusses abgeschlossen ist, wird die Baumstruktur für
Ausnahmelisten gelöscht.
Der folgende Mustercode verwendet die Ausnahmeliste im XML_Reservation-Nachrichtenfluss
zur Weiterleitung von Fehlerinformationen an den
Throw-Knoten, der eine Fehlernachricht generiert, die
die Informationen aus der Ausnahmeliste enthält:
Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message
Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im
WebSphere Message
Broker Toolkit integrierte Information Center verwendet wird.