The THROW statement generates a user exception.
SEVERITY is an optional clause that determines the severity associated with the exception. The clause can contain any expression that returns a non-NULL, integer value. If you omit the clause, it defaults to 1.
CATALOG is an optional clause; if you omit it, it defaults
to the WebSphere
Business Integration Message Broker current version catalog.
To use the current WebSphere
Business Integration Message Broker version message
catalog explicitly, use BIPV600 on
all operating systems.
MESSAGE is an optional clause; if you
omit it, it defaults to the first message number of the block of messages
provided for using THROW statements in WebSphere
Business Integration Message Broker catalog
(2949). If you enter
a message number in the THROW statement, you can use message numbers 2949 to 2999. Alternatively, you can generate your own
catalog by following the instructions in Using event logging from a user-defined extension.
Use the optional VALUES field to insert data into your message. You can insert any number of pieces of information, but the messages supplied (2949 - 2999) cater for eight inserts only.
THROW USER EXCEPTION;
THROW USER EXCEPTION CATALOG 'WMQIv210' MESSAGE 2949 VALUES(1,2,3,4,5,6,7,8) ;
THROW USER EXCEPTION CATALOG 'WMQIv210' MESSAGE 2949 VALUES('The SQL State: ',
SQLSTATE, 'The SQL Code: ', SQLCODE, 'The SQLNATIVEERROR: ', SQLNATIVEERROR,
'The SQL Error Text: ', SQLERRORTEXT ) ;
THROW USER EXCEPTION CATALOG 'WMQIv210' MESSAGE 2949 ;
THROW USER EXCEPTION CATALOG 'MyCatalog' MESSAGE 2949 VALUES('Hello World') ;
THROW USER EXCEPTION MESSAGE 2949 VALUES('Insert text 1', 'Insert text 2') ;
For more information about how to throw an exception, and details of SQLSTATE, SQLCODE, SQLNATIVEERROR, and SQLERRORTEXT, see ESQL database state functions.