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;