当每个异常处理都加上others异常。则当出现异常时,最多只会传播到外面一层就可以被处理,并且仅当是在定义部分出现异常时才会。否则,都在others时处理了。异常处理部分出现异常,也传到外层处理。
如:(1)块中定义部分出现异常,传到(2)块处理。
--(2)begin--
DECLARE
BEGIN
--(1)beign--
DECLARE
v_number NUMBER := 'j';--定义出现异常。
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('(1)');
END;
--(1)end--
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('(2)');
END;
--(2)end--
/
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28420564/viewspace-750808/
,如需转载,请注明出处,否则将追究法律责任。