SQL> set serveroutput on; SQL> SQL> DECLARE 2 x INT; 3 BEGIN 4 FOR i IN 1 .. 10 LOOP 5 --将发生异常的语句使用begin..exception..end包围 6 BEGIN 7 x := 'aaa'; --产生异常ORA-06502 8 EXCEPTION 9 WHEN OTHERS THEN 10 dbms_output.put_line('检测到异常!,异常码:' || SQLCODE); 11 END; 12 --继续执行 13 dbms_output.put_line('继续:i=' || i); 14 END LOOP; 15 END; 16 /
SQL>
SQL> DECLARE
2 x INT;
3 BEGIN
4 FOR i IN 1 .. 10 LOOP
5 --将发生异常的语句使用begin..exception..end包围
6 BEGIN
7 x := 'aaa'; --产生异常ORA-06502
8 EXCEPTION
9 WHEN OTHERS THEN
10 dbms_output.put_line('检测到异常!,异常码:' || SQLCODE);
11 END;
12 --继续执行
13 dbms_output.put_line('继续:i=' || i);
14 END LOOP;
15 END;
16 /
检测到异常!,异常码:-6502
继续:i=1
检测到异常!,异常码:-6502
继续:i=2
检测到异常!,异常码:-6502
继续:i=3
检测到异常!,异常码:-6502
继续:i=4
检测到异常!,异常码:-6502
继续:i=5
检测到异常!,异常码:-6502
继续:i=6
检测到异常!,异常码:-6502
继续:i=7
检测到异常!,异常码:-6502
继续:i=8
检测到异常!,异常码:-6502
继续:i=9
检测到异常!,异常码:-6502
继续:i=10
PL/SQL procedure successfully completed
SQL>
...
when others then
dbms_output.put_line(sqlerrm);
...