第6章PLSQL程序设计3异常处理.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章PLSQL程序设计3异常处理

(3)PL/SQL中的异常处理 在设计或运行一个程序时,常出现这样或那样的错误。针对这类错误,采取相应的措施。这就是异常处理(EXCEPTION)。 在PL/SQL中常见的有以下三种异常: oracle 预定义的异常 oracle预定义的异常,当这些异常情况发生时,系统自动爆发。 用户自定义的异常 在程序编写过程中,存在着程序设计人员所认为的不正当情况,这时需要在程序中定义自己的代码,一对它进行处理。 非预定义的Oracle异常:是任何其他标准的Oracle错误。对这种异常情况的处理,需要用户在PL/SQL块的declare部分中定义,并由Oracle隐式地自动触发。 其格式为: DECLARE …; BEGIN …; EXCEPTION WHEN 异常情况 1[ OR 异常情况 2 …] THEN …; WHEN 异常情况 3[ OR 异常情况 4 …] THEN …; WHEN OTHER THEN …; END; 其中:OTHER表示在异常处理部分未出现的 其他异常情况。 出错处理的原则 将WHEN OTHERS 子句放置在所有其他出错处理子句的后面。 最多只能有一个WHEN OTHERS 子句; 在块中开始一个出错处理部分必须以关键子EXCEPTION开始; 可以在块中定义多个句柄(HANDLER),每个句柄包含一组语句; 当一个错误发生时,在离开块之前,PL/SQL只处理一个句柄; 当处理一个错误时,回停止往外传递控制,并且解决错误。 各种错误的处理 出错处理包括: 系统预定义的错误、 用户自定义的错误、 非预定义的系统错误、 程序员定义的错误代码。 6.3 异常处理(Exception) 6.3.1 Oracle预定义的异常处理 6.3.2 非预定义的Oracle异常 6.3.3 raise_application_error过程 6.3.1 Oracle预定义的异常处理 ORACLE有一些预定义好的命名的错误,这些命名的错误与响应的ORACLE错误代码是对应的。这些错误是在系统的标准包中定义的,可以直接在PL/SQL块的出错部分的WHEN子句中进行处理。 预定义的 异常处理 6.3 异常处理(Exception) 6.3.1 Oracle预定义的异常处理 6.3.2 用户自定义的异常 6.3.3 raise_application_error过程 6.3.2 用户自定义的异常 使用步骤如下: 步骤1:在PL/SQL块的定义部分定义异常情况: exception_name exception; 步骤2:在执行部分通过条件来触发异常: raise exception_name ; 步骤3:在PL/SQL块的异常情况处理exception部分对异常情况做出相应的处理。 用户自定义的异常处理与系统与定义的 异常处理是不同的。首先,自定义的 异常处理必须在定义部分进行声明;其次,当异常发生时需要用RAISE语句。 下面是一个简单的例子。 DECLARE out_of_stock EXCEPTION; number_on_hand NUMBER; BEGIN …IF number_on_hand1 then RAISE out_of_stock; END IF; … EXCEPTION WHEN out_of_stock then --handle the erro END; 自定义异常处理的过程: 1、定义异常处理 Declare 异常名 exception 2、触发异常处理 Raise 异常名 3、处理异常 触发异常处理后,可定义异常处理部分 Exception When 异常名1 then 异常处理语句段1; When 异常名2 then 异常处理语句段2; 6.3 异常处理(Exception) 6.3.1 Oracle预定义的异常处理 6.3.2 用户自定义的异常 6.3.3 raise_application_error过程 6.3.3 raise_application_error过程 如果要使用户在程序中自定义格式为ora-error_messages错误信息,则使用Oracle提供的标准包dbms_standard中所定义的raise_application_error过程,可以重新定义异常错误消息。 使用raise_application_error时,可不必在其前边加dbms_standard。 过程raise_application_error的语法: raise_application_error(error_number,error_messa

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档