那位朋友知道 informix存储过程中如何捕获异常的产生的行号,目前异常可抛出三个变量:
on exception set err_code,isam_code, err_desc
insert into group_statistics_table values("所有数据统计",err_desc);
end exception;
但err_desc应该不能记录异常产生的存储过程中行号,有没有什么办法可记录并保存出错的行号呀!
木有,11.5.
我们用的是trace
可以使用断点号,异常时通过抛出的断点号可以定位错误行
create procedure "informix".St_demo(
in_ID int
) Returning int
define j_Err,j_ISAM int;
define j_BreakPoint int;
define j_Msg varchar(255);
define j_Errinfo varchar(32);
define out_Result int;
ON EXCEPTION SET j_Err,j_ISAM,j_Msg
raise exception j_Err,j_ISAM,j_BreakPoint||'-'||j_Msg;
END EXCEPTION
let j_BreakPoint = 100010;
...
let j_BreakPoint = 100100;
...
end procedure;