La sentencia THROW genera una excepción de usuario.
SEVERITY es una cláusula opcional que determina la gravedad asociada a la excepción. La cláusula puede contener cualquier expresión que devuelve un valor entero que no es NULL. Si omite la cláusula, toma el valor por omisión de 1.
CATALOG es una cláusula opcional; si la omite, toma por omisión el valor del catálogo de la versión actual de WebSphere Message Broker. Para utilizar explícitamente el catálogo de mensajes de la versión de WebSphere Message Broker actual, utilice BIPV600 en todos los sistemas operativos.
MESSAGE es una cláusula opcional; si la omite, toma por omisión el número del primer mensaje del bloque de mensajes proporcionado para utilizar sentencias THROW en el catálogo de WebSphere Message Broker (2951). Si especifica un número de mensaje en la sentencia THROW, puede utilizar números de mensajes de 2951 a 2999. De forma alternativa, puede generar su propio catálogo siguiendo las instrucciones en Utilización del registro de sucesos desde una extensión definida por el usuario.
Utilice el campo VALUE opcional para insertar datos en el mensaje. Puede insertar cualquier número de fragmentos de información, pero los mensajes suministrados (2951 - 2999) sólo se ocupan de ocho inserciones.
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') ;
Para obtener más información acerca de cómo generar una excepción y detalles de SQLSTATE, SQLCODE, SQLNATIVEERROR y SQLERRORTEXT, consulte Funciones de estado de base de datos ESQL.