我试图找出是否有办法在when
子句中明确实现所有predefined Exceptions的情况下获取异常类型。
我写了一个发送邮件的功能。我在PL / SQL过程的when others
子句中调用此函数,有没有办法将类型作为varchar传递?
将Exception消息作为参数传递也是非常好的。
问候
答案 0 :(得分:0)
在Oracle文档中搜索: DBMS_UTILITY.FORMAT_ERROR_STACK
答案 1 :(得分:0)
有几种方式,我使用SQLERRM
EXCEPTION
WHEN CANNOTPROCEED THEN
ORA_ERROR:=SQLERRM;
ROLLBACK;
insert into LOG_TABLE (LOG_ERROR) Values();
commit;
答案 2 :(得分:0)
在Mat中建议的comment,可以简单地使用变量SQLCODE
和SQLERRM
来检索异常。它本身并不检索Exception的类型,但它肯定提供了足够的信息来解决问题。 Oracle Documentation