当在执行一个抛出自定义异常的pl/sql 块的时候,如果没有 exception 块对起进行处理则会报 ORA-06510错误。
例如 执行以下的语句块:
declare
e exception;
g_name varchar2(10);
begin
if g_name is null then
raise e;
end if;
end;
报错信息: ORA-06510:PL/SQL:用户定义的异常错误未得到处理
此时有两种处理办法:
1.去掉该自定义异常声明
2.在exception 中对该异常进行处理。
修改的块为:
declare
e exception;
g_name varchar2(10);
begin
if g_name is null then
raise e;
end if;
exception
when e then
raise_application_error(-20001,'g_name is null');
end;