- 默认异常捕获
create or replace procedure p_excep
is
begin
--存储过程执行...
exception
when others then
--异常发生时执行(如输出异常信息、插入日志,数据库回滚等)
dbms_output.put_line(sqlcode);
dbms_output.put_line(sqlerrm); --sqlcode和sqlerrm是oracle内置函数,用于返回错误代码及描述
end p_test;
- 自定义异常捕获
create or replace procedure p_excep
is
my_exception exception; --声明自定义异常
begin
--存储过程执行...
--自定义异常抛出
if something is wrong then
raise my_exception;
end if;
exception
when my_exception then
--异常发生时执行(如输出异常信息、插入日志,数据库回滚等)
rollback;
when others then
--异常发生时执行(如输出异常信息、插入日志,数据库回滚等)
dbms_output.put_line(sqlcode);
dbms_output.put_line(sqlerrm); --sqlcode和sqlerrm是oracle内置函数,用于返回错误代码及描述
end p_test;