Utilize a instrução THROW para gerar 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 explicitamente, utilize BIPv600 em todos os sistemas operacionais.
MESSAGE é uma cláusula opcional; se você omiti-la, ela será padronizada com o primeiro número de mensagem do bloco de mensagens fornecido para utilizar instruções THROW no catálogo padrão (2951). Se você digitar um número de mensagem na instrução THROW, você poderá utilizar os números de mensagem 2951 a 2999 a partir do catálogo padrão. Alternativamente, você pode gerar seu próprio catálogo, seguindo as instruções em Criando Catálogos de Mensagens.
Utilize o campo VALUES opcional para inserir dados em sua mensagem. Você pode inserir qualquer número de partes de informações, mas as mensagens fornecidas (2951 - 2999) suprem 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.