/*
dbms_utility.format_error_stack
这个函数和SQLERRM类似,也是返回当前错误代码和消息。
主要可以返回更长的错误信息,不会截断,而SQLERRM会截断。
缺点是不能传入参数。
dbms_utility.format_error_backtrace
这个函数是Oracle 10G才有的,看以返回发生错误的行代码。
dbms_utility.format_call_stack
这个函数返回PLSQL程序调用的堆栈。具体用法以后更新
*/
--范例:
declare
a number;
--嵌套函数
function b return varchar2 is
begin
a := 'r';
return a;
end b;
begin
dbms_output.put_line(b);
exception
when others then
dbms_output.put_line(dbms_utility.format_error_stack); --返回错误信息
dbms_output.put_line(dbms_utility.format_error_backtrace); --返回错误行数
dbms_output.put_line(dbms_utility.format_call_stack); --显示调用堆栈
end;
--这里特别强调dbms_utility.format_error_backtrace,它会从异常的最里向外返回错误行数。
PLSQL总结——8.异常2
最新推荐文章于 2023-03-10 10:32:28 发布