异常捕获作用于执行部分,而在声明部分抛出的异常是无法被捕获的
除了声明部分,异常处理部分本身导致的异常同样也是无法捕获的,解决方法和声明部分一样,需要在外层进行捕获
比如,
DECLARE
var_id number :='Think';
BEGIN
NULL;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE('Exception captured');
END;
处理的方法,其实也很简单,就是在外面套一层,天凉了,多件外套哟~
BEGIN
DECLARE
var_id number :='Think';
BEGIN
NULL;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE('Exception captured');
END;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE('Exception captured');
END;
除了声明部分,异常处理部分本身导致的异常同样也是无法捕获的,解决方法和声明部分一样,需要在外层进行捕获
本文深入探讨了异常捕获与声明部分抛出异常之间的区别及解决方法,通过实例展示了如何在外层套用捕获块来处理异常,并强调了异常处理部分自身导致的异常同样需要捕获。
470

被折叠的 条评论
为什么被折叠?



