1、存储过程(PLSQL块)异常介绍

1、PL/SQL程序异常介绍

        像java程序一样,pl/sql也会存在异常,其异常可分为两类:一类是编译错误,由 PL/SQL编译器发出错误报告,另一类是运行时错误,由PL/SQL运行时引擎发出报告。由于编译错误主要是语法方面 的错误,如果不修改程序就无法执行,因此该错误可以由程序 员来修改;运行时错误可能是由设计错误、代码错误、硬件错误,以及运行环境的变化等原因引起的,因此运行时错误无法完全避免。

2、使用异常处理的优点

        在PL/SQL程序中使用异常处理机制可以使编写的程序更 简单易懂,减少错误被遗漏处理的概率。如果没有异常处理, 用户必须检查每一个可能的错误,以及每一个可能发生错误的 位置,并进行相应处理。但是,对于那些不能马上检测到的错 误(例如,由于运行条件改变导致的错误),错误及其可能发 生的位置很容易被忽略。此外,错误处理的代码分散在程序的 不同位置,导致程序可读性较差。

        在采用异常处理机制后,用户不需要知道每一个可能发生 的错误,以及错误可能发生的每一个位置,只需要在可能出现 错误的PL/SQL块中增加一个异常处理部分就可以了。在异常 处理部分,可以对指定的或未知的错误对应的异常进行捕获处 理。对当前块及其子块中任何位置的错误,异常处理器都可以 进行处理。PL/SQL块异常处理部分可以有多个异常处理器, 各个异常处理器之间是相互独立的。

3、异常的类型

Oracle运行时错误可以分为Oracle错误(Oracle错误都有一 个内部的错误代码)和用户定义错误。与之对应,异常分为:


1、预定义异常:

对应于常见的Oracle错误,PL/SQL内部为 错误起了一个异常名称。例如,错误ORA-06500(PL/SQL存 储错误)对应的预定义异常名称为STORAGE_ERROR。当错 误发生时,系统隐式(自动)抛出该异常。常见预定义异常如下:


2、内部定义异常。

内部定义异常与预定义异常类似,对应 一个Oracle错误,不同在于系统没有为该错误预定义异常名 称,需要用户定义一个异常名称与该错误绑定。在错误发生 时,系统隐式抛出错误对应的异常。例如,Oracle错误ORA- 00060(死锁)、ORA-27102(内存溢出)。


3、用户定义异常。

用户定义异常对应于用户定义错误,由 用户显式抛出。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心寒丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值