Oracle PL/SQL开发基础(第三十二弹:SQLCODE和SQLERRM)

来源:互联网 发布:网络说鸡汤什么意思 编辑:程序博客网 时间:2024/06/05 12:06

尽管一个异常在同一时刻只能抛出一次,但是实际上错误的消息文本可能包含来自多个异常的消息,这是因为异常具有传递性。在OTHERS处理器中处理异常时,有几种方法可以得到错误信息栈中的错误消息,其中最常用的是SQLCODE和SQLERRM。

SQLCODE函数返回当前的错误编码,对于用户自定义的异常,SQLCODE总是返回1;SQLERRM用于返回错误消息文本,对于自定义的异常,SQLERRM总是返回“User-defined Exception”。

用法如:

...EXCEPTION   WHEN OTHERS THEN     DBMS_OUTPUT.PUT_LINE('错误编号:'||SQLCODE||' 错误消息:'||SQLERRM);   END; 

SQLERRM函数还可以接受一个参数,如:

DBMS_OUTPUT.PUT_LINE(SQLERRM(0));  -- 这将返回:ORA-0000:normal,successful completion

要返回NO_DATA_FOUND的错误消息,可以传递错误号100,将返回ORA-01403错误,如SQLERRM(100)
大多数情况下使用不带参数的SQLERRM即可,不带参数的函数调用将返回完整的错误信息。

原创粉丝点击