扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
项目开发的代码几乎是做不到没有BUG的,所以需要捕捉代码运行过程中出现的异常并且进行处理。PL/SQL使用异常处理框架来跟踪并对错误做出响应。
创新互联拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的成都网站制作、成都网站建设、网站维护、香港机房服务器托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城网站定制开发、政府网站等各类型客户群体,为全球成百上千家企业提供全方位网站维护、服务器维护解决方案。
一、异常处理概念
任何类型的错误都按程序异常对待,异常可能来源于:系统产生的错误、用户动作导致的错误和应用程序向用户发出的警告。如果PL/SQL发生了一个错误,就会抛出一个异常,当前PL/SQL块中执行单元就会暂停处理。控制转向当前块的异常处理单元,完成异常处理后就不能再返回到当前块,而是将控制转移到外层包围块。如果外层包围块没有对异常处理,则错误会继续向外层抛出,直到抛给使用者。
二、异常定义
1.声明有名异常
在PL/SQL的声明部分可以自定义异常的名称,方式如下:
exception_name EXCEPTION;
引用异常的名字有两种方式:
在代码的执行单元中使用RAISE exception_name;
在异常处理单元使用WHEN语句WHEN exception_name THEN。
2.异常名称与错误代码关联
Oracle只定义了部分异常的名字,其他的错误只定义了一各错误数字和消息,不易于代码的阅读和维护。EXCEPTION_INIT命令可以把名称和内部错误代码关联起来,一旦创建了关联关系,就可以通过名字来引用异常。在PL/SQL的声明部分操作方式如下:
invalid_month EXCEPTION;
PRAGMA EXCEPTION_INIT (invalid_month,-1843);
为了方便引用常见的异常名字,可以构建包。
3.抛出异常
程序有3种抛出异常的办法:
数据库检测到错误时可以抛出异常;
使用RAISE语句抛出异常;
使用内置的RAISE_APPLICATION_ERROR过程抛出异常。
三、异常处理
一旦有异常抛出,当前PL/SQL块就会把控制传递给异常处理单元。这个异常或者被当前PL/SQL块中的处理句柄处理,或者抛给外层块。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流