Mit der THROW-Anweisung kann eine Benutzerausnahme generiert werden.
SEVERITY ist eine optionale Klausel, die den Schweregrad bestimmt, der der Ausnahme zugeordnet ist. Die Klausel kann jeden Ausdruck enthalten, der einen ganzzahligen Wert ungleich null zurückgibt. Falls Sie die Klausel übergehen, erhält sie standardmäßig den Wert 1 ausgefüllt.
CATALOG ist eine optionale Klausel; falls Sie sie übergehen, wird ihr als Standardwert der aktuelle WebSphere Message Broker-Versionskatalog zugewiesen. Verwenden Sie zur expliziten Nutzung des Nachrichtenkatalogs der aktuellen Version in allen Betriebssystemen BIPv600.
MESSAGE ist eine optionale Klausel. Falls Sie sie übergehen, wird ihr als Standardwert die erste Nachrichtennummer des Nachrichtenblocks zugewiesen, der für die Verwendung von THROW-Anweisungen im Standardkatalog (2951) bereitgestellt wird. In der THROW-Anweisung können Sie eine Nachrichtennummer aus dem Bereich 2951 bis 2999 des Standardkatalogs eingeben. Alternativ können Sie entsprechend den Anweisungen unter Nachrichtenkataloge erstellen Ihren eigenen Katalog generieren.
Verwenden Sie das optionale VALUES-Feld, um Daten in Ihre Nachricht einzusetzen. Sie können eine beliebige Stückzahl von Informationen einfügen. Die Nachricht (2951 - 2999) kann jedoch nur acht Einfügungen aufnehmen.
THROW USER EXCEPTION;
THROW USER EXCEPTION CATALOG 'BIPv600' MESSAGE
2951 VALUES(1,2,3,4,5,6,7,8) ;
THROW USER EXCEPTION CATALOG 'BIPv600' MESSAGE
2951 VALUES('The SQL State: ',
SQLSTATE, 'The SQL Code: ', SQLCODE, 'The SQLNATIVEERROR: ', SQLNATIVEERROR,
'The SQL Error Text: ', SQLERRORTEXT ) ;
THROW USER EXCEPTION CATALOG 'BIPv600' MESSAGE
2951 ;
THROW USER EXCEPTION CATALOG 'MyCatalog' MESSAGE 2951 VALUES('Hello World') ;
THROW USER EXCEPTION MESSAGE 2951 VALUES('Insert text 1', 'Insert text 2') ;
Weitere Informationen darüber, wie eine Ausnahme ausgelöst wird, sowie zu SQLSTATE, SQLCODE, SQLNATIVEERROR und SQLERRORTEXT finden Sie unter ESQL-Datenbankstatusfunktionen.