自定义异常
在PL/SQL申明部分我们可以定义自己的异常变量,并绑定异常代码
declare
exceptiontest exception;--定义异常变量
pragma exception_init(exceptiontest,-20998);--将异常代码20998与该异常变量绑定
begin
raise_application_error(-20998,'user defined exception');
exception when exceptiontest then
dbms_output.put_line(SQLCODE);
dbms_output.put_line(SQLERRM);
end;
上述PL/SQL中
- exceptiontest exception定义了异常变量exceptiontest
- pragma exception_init(exceptiontest,-20998)该函数将异常变量与异常代码20998绑定,异常代码范围为
a. 不能为-1403
b. 不能为0或100
c. 不能小于-1000000 - raise_application_error(-20998,‘user defined exception’)抛出异常,异常代码为-20998,异常描述为user defined exception,使用该方法抛出的异常,异常代码需要在-20999到-20000之间
- 异常处理部分,我们用异常变量exceptiontest捕获了异常代码为-20998的异常,上述PL/SQL输出结果为
-20998
ORA-20998: user defined exception