我正在从xsjs文件中调用一个过程,如下所示
try{
var query = oConn.loadProcedure("hello","helloWorld.db::sampleException");
query();
$.response.setBody('OK');
$.response.status = $.net.http.OK;
}
catch(e){
var code= getStatusCode(e.message);
if(code&& code === 301){
$.response.setBody('unique Constraint Voilated');
}
if(code && code ===258)
{
$.response.setBody('You dont have the Permission to run the command'+code);
}
if(code && code ===10001)
{
$.response.setBody('Boss you got the error');
}
if(code && code ===10002)
{
$.response.setBody('Boss you got the error2');
}
程序如下:
PROCEDURE "hello"."helloWorld.db::sampleException" ()
AS
BEGIN
DECLARE ExceptionExample CONDITION FOR SQL_ERROR_CODE 10001;
DECLARE ExceptionExample1 CONDITION FOR SQL_ERROR_CODE 10002;
select * from "hello"."REGION";
SIGNAL ExceptionExample SET MESSAGE_TEXT='TAN TAN TANANANANAN';
--SIGNAL
select * from "hello"."REGION";
SIGNAL ExceptionExample1 SET MESSAGE_TEXT='TANY TAN TANANANANAN';
END;
我想在调用XSJS时发出这两个异常的信号。有什么办法吗?
输出(应为):老板,你搞错了。老板,你弄错了。
任何帮助都是有益的。
谢谢。
不,这是不可能的。SAP HANA过程允许发出单个异常信号。发生在"堆栈深处"的异常不会被堆叠并有效隐藏。