Catch exception in oracle/plsql--from cyber

PL/SQL Exception 抛出和处理

1.获得EXCEPTION 具体信息:

1 dbms_output.put_line('error code is: '||sqlcode);
2 --输出异常号
3 dbms_output.put_line('error message is: '||sqlerrm);
4 --输出异常内容
5 dbms_output.put_line('error position is: '||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
6 --输出异常位置

2.异常的抛出

(1)raise

declare

exception_1 exception

begin

if true then

raise exception_1;

end if;

exception when exception_1 then

...

end;

或者 不需自己抛出

declare

exception_1 exception

pragma EXCEPTION_INIT(exception_1 ,-2292);

begin

exception when exception_1 then

...

end;

(2) raise_application_error

raise_application_error(-10020,'my exception');

3.异常的处理

exception

when exception 1 then

when exception 2 then

...

when others then

end;

posted @ 2015-12-18 17:10  MorePrograms  阅读(287)  评论(0编辑  收藏  举报