A instrução THROW gera uma exceção do usuário.
SEVERITY é uma cláusula opcional que determina a gravidade associada à exceção. A cláusula pode conter qualquer expressão que retorna um valor inteiro, não-NULL. Se a cláusula for omitida, será assumido o padrão 1.
CATALOG é uma cláusula opcional; se você omiti-la, será assumido como padrão o catálogo da versão atual do WebSphere Message Broker. Para utilizar o catálogo de mensagens da versão atual do WebSphere Message Broker explicitamente, utilize BIPV600 em todos os sistemas operacionais.
MESSAGE é uma cláusula opcional; se você omiti-la, será assumido como padrão o primeiro número da mensagem do bloco de mensagens fornecido para utilização de instruções THROW no catálogo do WebSphere Message Broker (2951). Se você digitar um número de mensagem na instrução THROW, poderá utilizar os números de mensagem 2951 a 2999. Alternativamente, você pode gerar seu próprio catálogo, seguindo as instruções em Utilizando Registro de Eventos a partir de uma Extensão Definida pelo Usuário.
Utilize o campo VALUES opcional para inserir dados em sua mensagem. É possível inserir qualquer número de partes de informações, mas as mensagens fornecidas (2951 - 2999) permitem apenas oito inserções.
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 informações adicionais sobre como emitir uma exceção e detalhes de SQLSTATE, SQLCODE, SQLNATIVEERROR e SQLERRORTEXT, consulte Funções de Estado de Banco de Dados ESQL.