CREATE PROCEDURE TEST(LEN IN NUMBER) AS
TMPCOUNT NUMBER(8);
BEGIN
TMPCOUNT := 0;
FOR CUR IN 1 .. LEN LOOP
BEGIN
TMPCOUNT := 1/0;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('发生错误,程序继续');
CONTINUE;
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE('程序结束');
END;
注意:
PLSQL 中的 BEGIN…END 结构是一个逻辑上的PLSQL块,这个块就是一个代码系列。
BEGIN…END 结构带上例外处理部分,就是一个标准的PLSQL块,如下:
BEGIN
......
EXCEPTION WHEN .. THEN
......
END
程序中有多个这样的结构,容易精确捕捉例外。这种结构可以嵌套,内层的例外没有
捕捉到就会依次向外层传递。