declare
v varchar2(32);
begin
begin
select dummy into v from dual where dummy = '';
exception
when others then
dbms_output.put_line('1');
end;
dbms_output.put_line('2');
end;
可以自己试一下,把可能发生异常的代码放到begin end块中,exception后end前都属于异常执行范围,end后代码不在异常范围内。
你是不是你当前的登录用户没有使用存储过程的权限呢?先试一下sysdba用户下会不会出现这个问题,如果也这样那就GRANT权限一下