星空网 > 软件开发 > 数据库

PL/SQL编程_异常处理

用户编写的PL/SQL块在执行过程中不可避免地要发生一些错误。

这里涉及的错误并不是由于程序的语法错误引起的,而是因为处理的数据超出了处理的范围而引发的错误。
如果给这样的错误起一个名字,这就是异常
当PL/SQL块在执行过程中检测到一个错误时,就会抛出相应的异常。
在块中应当处理这样的异常,否则会引起应用程序运行停止。

异常处理程序

异常一般是在PL/SQL程序执行错误时由数据库服务器抛出,也可以在PL/SQL块中由程序员在一定的条件下显式抛出。
无论是哪种形式的异常,都可以在PL/SQL块的异常处理部分编写一段程序进行处理,如果不做任何处理,异常将被传递到调用者,由调用者统一处理。

下面表示两种不同异常的处理方式:

方式一(异常处理):

DECLARE

  定义异常

BEGIN

  抛出异常

EXCEPTION

  捕获并处理异常

END;

方式二(异常传递):

DECLARE

  定义异常

BEGIN

  抛出异常

EXCEPTION

  不处理异常

END;

异常被传递到调用者

如果要在PL/SQL块中对异常进行处理,就需要在异常处理部分编写处理程序。

异常处理程序的形式如下:

EXCEPTION

  WHEN 异常1 OR 异常2 THEN

    异常处理程序1;

  WHEN 异常3 OR 异常4 THEN

    异常处理程序2;

  WHEN OTHERS THEN

    异常处理程序n;

END;

异常处理程序以关键字EXCEPTION开始,结束于关键字END 。

在这部分可以对多个异常分别进行不同的处理,也可以进行相同的处理。
如果没有列出所有异常,可以用关键字OTHERS代替其他的异常,在异常处理程序的最后加上一条WHEN OTHERS子句,用来处理前面没有列出的所有异常。
如果PL/SQL块执行出错,或者遇到显式抛出异常的语句,则程序立即停止执行,转去执行异常处理程序。
异常被处理结束后,整个PL/SQL块的执行便告结束。

所以一旦发生异常,则在PL/SQL块的可执行部分中,从发生异常的地方开始,以后的代码将不再执行。
在PL/SQL块中有三种类型的异常,即预定义的异常非预定义的异常用户自定义的异常。
下面分别介绍这几种异常的使用方法。

预定义的异常

 

 

 

 

  

 




原标题:PL/SQL编程_异常处理

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

广州海运到马来西亚价格:https://www.goluckyvip.com/tag/92313.html
去马来西亚海运价格:https://www.goluckyvip.com/tag/92314.html
马来西亚海运到中国需要多少价格:https://www.goluckyvip.com/tag/92315.html
马来西亚海运价格多少:https://www.goluckyvip.com/tag/92316.html
中国海运马来西亚价格:https://www.goluckyvip.com/tag/92317.html
马来西亚国际海运价格:https://www.goluckyvip.com/tag/92318.html
去日本入住酒店,东西随意用却有一个特殊“要:https://www.vstour.cn/a/411241.html
中国有哪些著名的酒店品牌。:https://www.vstour.cn/a/411242.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流