异常处理的写法:
...
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END ...
但是出现异常无法获知啥异常,因此代码块增加以下语句:
EXCEPTION
WHEN OTHERS THEN
--以下表示输出buffer不受限制
DBMS_OUTPUT.ENABLE(buffer_size => null);
dbms_output.put_line(dbms_utility.format_error_backtrace);
DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode);
DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm);
--以下截取前100个字符显示
DBMS_OUTPUT.put_line('sqlerrm : ' ||substr(sqlerrm,1,100)); ROLLBACK;
END ...
begin
produce_name;
end;
本文介绍了一种在遇到异常时能够详细输出错误信息的方法,通过使用DBMS_OUTPUT和DBMS_UTILITY等包来帮助开发者更好地理解异常原因,从而进行针对性的调试。
1873

被折叠的 条评论
为什么被折叠?



