1.示例一:
Declare
v_ival number;
i number;
error_message exception; --声明一个出错处理
Begin
for t in 1..10 loop
i:=i+t;
DBMS_OUTPUT.PUT_LINE(t);
if t>=5 then --引发错误处理
raise error_message; --抛出异常会中断循环
end if;
end loop;
exception
when error_message then
DBMS_OUTPUT.PUT_LINE('出错误了');
END;
2.示例二:
Declare
date_exception exception;
v_date date;
Begin
--可以覆盖 ORACLE 的错误消息
Begin
select to_date('cuowu','yyyy-mm-dd') into v_date from dual;
exception
when others then
Raise date_exception;
End;
exception
when date_exception then
DBMS_OUTPUT.PUT_LINE('时间错误了');
END;
3.示例三:
Declare
v_ival number;
i number;
error_message exception; --声明一个出错处理
Begin
for t in 1..10 loop
i:=i+t;
DBMS_OUTPUT.PUT_LINE(t);
if t = 4 then
raise_application_error('-20001','异常消息!');
end if;
end loop;
exception
when others then
DBMS_OUTPUT.PUT_LINE(sqlerrm);
END;