WEB开发网
开发学院数据库Oracle PL/SQL的异常处理机制的初步探讨 阅读

PL/SQL的异常处理机制的初步探讨

 2007-05-12 12:24:06 来源:WEB开发网   
核心提示: 当异常抛出后,控制无条件转到异常部分,PL/SQL的异常处理机制的初步探讨(3),这就意味着控制不能回到异常发生的位置,当异常被处理和解决后,因为异常没有解决;--异常部分EXCEPTIONWHEN OTHERS THEN--由于bad_credit没有解决,控制将转到这里END;异常传播

当异常抛出后,控制无条件转到异常部分,这就意味着控制不能回到异常发生的位置,当异常被处理和解决后,控制返回到上一层执行部分的下一条语句。  BEGIN
   DECLARE
    bad_credit;
   BEGIN
    RAISE bad_credit;
     --发生异常,控制转向;
   EXCEPTION
    WHEN bad_credit THEN
     dbms_output.put_line('bad_credit');
    END;
  
    --bad_credit异常处理后,控制转到这里
   EXCEPTION
    WHEN OTHERS THEN
     --控制不会从bad_credit异常转到这里
     --因为bad_credit已被处理
  END;

当异常发生时,在块的内部没有该异常处理器时,控制将转到或传播到上一层块的异常处理部分。  BEGIN
   DECLARE ---内部块开始
    bad_credit;
   BEGIN
    RAISE bad_credit;
     --发生异常,控制转向;
    EXCEPTION
    WHEN ZERO_DIVIDE THEN --不能处理bad_credite异常
     dbms_output.put_line('divide by zero error');
    END --结束内部块
  
     --控制不能到达这里,因为异常没有解决;
     --异常部分
  
    EXCEPTION
    WHEN OTHERS THEN
     --由于bad_credit没有解决,控制将转到这里
  END;

异常传播

没有处理的异常将沿检测异常调用程序传播到外面,当异常被处理并解决或到达程序最外层传播停止。

上一页  1 2 3 4 5  下一页

Tags:PL SQL 异常

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接