L'istruzione THROW genera un'eccezione utente.
SEVERITY è una clausola facoltativa che determina la severità associata all'eccezione. La clausola può contenere qualsiasi espressione che restituisce un valore integer non NULL. Se la clausola non viene specificata, viene utilizzato il valore predefinito 1.
CATALOG è una clausola facoltativa; se viene omessa, viene utilizzato come valore predefinito il catalogo della versione corrente di WebSphere Message Broker. Per utilizzare in modo esplicito il catalogo messaggi della versione corrente di WebSphere Message Broker, utilizzare BIPV600 su tutti i sistemi operativi.
MESSAGE è una clausola facoltativa; se viene omessa, viene utilizzato come valore predefinito il primo numero di messaggio del blocco di messaggi fornito per l'utilizzo delle istruzioni THROW nel catalogo WebSphere Message Broker (2951). Se si immette un numero di messaggio nell'istruzione THROW, è possibile utilizzare i numeri di messaggio da 2951 a 2999. In alternativa, è possibile generare il proprio catalogo seguendo le istruzioni in Utilizzo della registrazione eventi da un'estensione definita dall'utente.
Utilizzare il campo facoltativo VALUES per inserire i dati nel proprio messaggio. E' possibile inserire tutte le informazioni desiderate, ma i messaggi forniti (2951 - 2999) forniscono solo otto inserimenti.
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') ;
Per ulteriori informazioni relative alla generazione di un'eccezione e per dettagli relativi a SQLSTATE, SQLCODE, SQLNATIVEERROR e SQLERRORTEXT, consultare Funzioni di stato del database ESQL.