PL/SQL 引发处理异常
Posted
技术标签:
【中文标题】PL/SQL 引发处理异常【英文标题】:PL/SQL raise handled exception 【发布时间】:2016-08-04 12:19:08 【问题描述】:如何在 PL/SQL 中抛出缓存异常?
例如,我有一个程序,我可以在其中捕获所有异常:
EXCEPTION
WHEN OTHERS THEN
rollback;
然后我想将捕获的异常抛出给过程调用者。
提前致谢!
【问题讨论】:
【参考方案1】:只需添加raise;
:
EXCEPTION
WHEN OTHERS THEN
rollback;
raise;
【讨论】:
【参考方案2】:要重新引发异常,只需使用
raise;
要定义自定义应用程序错误,请查看raise_application_error,例如
raise_application_error(-20001, 'Warp core implosion imminent', true);
值得牢记的是,由于我刚刚决定将其称为 Exception Handling Uncertainty Principle,因此在报告完整的异常详细信息和对异常采取措施之间总是需要权衡取舍。
【讨论】:
以上是关于PL/SQL 引发处理异常的主要内容,如果未能解决你的问题,请参考以下文章