日期:2014-05-16  浏览次数:20338 次

oracle基础总结(十五)

????????????????????????????? 异常处理

异常是oracle数据库中的PL/SQL代码执行期间出现的错误。无论任何时候,当PL/SQL引擎执行代码时,都可能语带异常。当产生异常时,PL/SQL会将程序控制转到程序块的异常部分。

? 如果在程序块中没有异常处理,那么异常就会传播,或者发往程序块调用者。例如,如果用户创建的程序块中没有异常处理部分,那么任何异常都会被发送到SQL*Plus中,SQL*Plus处理异常的方法就是在屏幕上显示异常信息。

?? Oracle3中类型的异常:

预定义异常:

??? Oracle为用户提供了大量的在PL/SQL中使用的预定义异常,已以检查用户代码失败的一般原因,他们都定义在Oracle的核心PL/SQL库中,用户可以在自己的PL/SQL异常处理部分使用名称对其进行标识。对这种异常情况的处理,无需再程序中定义,由Oracle自动将其引发。

非预定义异常:

即其他标准的Oracle错误。对这种异常情况的处理,需要用户在程序中定义,然后由oracle 自动将其引发。

自定义异常

??????? 如果程序设计人员认为某种情况违反了业务逻辑,则设计人员可明确定义并引发异常。

异常处理部分一般放在PL/SQL程序的后半部分,其结构如下:

?? EXCEPTION

?????? WHEN? first_exception THEN <code to handle first exception>