和java异常一样,处理机制为向上处理机制

语法和java差不多,只是没有finally

1、例外分类

(1)系统定义异常

(2)自定义例外

2、常见系统定义异常

not data_found(没有找到数据)

too_many_rows(select...into语句匹配多个行)

zero_divide(被零除)

value_error(算术或转换错误)

timeout_on_resource(在等待资源时发生超时):发生的典型场景就是分布式数据库

例子:被0除

declarepnum number;
begin  pnum:=1/0;exceptionwhen zero_divide then dbms_output.put_line('0不能做除数');when value_error then dbms_output.put_line('算术或转换例外');when others then dbms_output.put_line('产生了其他例外');
end;

3、自定义例外

java通过继承来自定义例外,这里oracle把例外当做变量来处理,如下:

declare

No_data exception;

java通过throw来抛异常,oracle通过关键字raise来抛异常

例子:查询50号部门员工(不存在50号部门,抛异常)

declarecursor c1 is select ename from emp where deptno=50;pename emp.ename%type;no_emp_deptno exception;
begin  open c1;loopfetch c1 into pename;if c1%notfound then raise no_emp_deptno;end if;end loop;close c1; exceptionwhen no_emp_deptno then dbms_output.put_line('没有该部门');when others then dbms_output.put_line('跑出其他异常');
end;

4、PMON进程(process monitor进程监视器)

抛出异常后依旧会关闭光标

在用户进程失败时执行进程恢复

  1. 清除数据库缓冲区高速缓存
  2. 释放该用户进程使用的资源:如关闭光标

PLSQL之例外(异常)相关推荐

  1. Oracle之例外(异常)

    /*    例外  其实就是异常          处理发生的异常          java try{}catch(OutofBoundIndexException){}catch(Exceptio ...

  2. plsql例外_大例外背后的真相

    plsql例外 异常可能是最被滥用的Java语言功能. 这就是为什么 让我们打破一些神话. 没有牙仙子. 圣诞老人不是真实的. TODO评论. finalfinalversion-final.pdf. ...

  3. 忽略异常_忽略已检查的异常,所有出色的开发人员都在这样做–基于600,000个Java项目...

    忽略异常 Github和Sourceforge上超过600,000个Java项目中的异常处理概述 Java是使用检查异常的少数几种语言之一. 它们在编译时强制执行,并且需要某种处理. 但是--在实践中 ...

  4. 忽略已检查的异常,所有出色的开发人员都在这样做–基于600,000个Java项目

    Github和Sourceforge上超过600,000个Java项目中的异常处理概述 Java是使用检查异常的少数语言之一. 它们在编译时强制执行,并且需要某种处理. 但是--实践中会发生什么? 大 ...

  5. PLSQL Developer几个可能的隐患

    PL/SQL Developer是一个集成开发环境,由Allround Automations公司开发,专门面向Oracle数据库.作为一款第三方工具,早就被广大Oracle开发和运维人员所熟知.相比 ...

  6. plsql连接Oracle报错:Initialization error

    plsql连接Oracle报错:Initialization error,解决方案 背景: 今天服务器操作系统升级(由Windows server 2008 R2 64bits升级到Windows s ...

  7. oracle数据库中基础知识,oracle数据库基础知识

    oracle数据库基础知识 -- End loop --1 declare pnum number(4):=0; begin while pnum < 10 loop dbms_output.p ...

  8. Oracle简单操作总结

    ---- 用到 scott  hr---------------- ---------解锁scott 用户 alter user scott account unlock; ---------重置用户 ...

  9. JDBC心得体会--总结

    JDBC部分 终端进入mysql: mysql -u root回车 终端进入oracle: telnet 192.168.0.23  然后sqlplus openlab/open123 MySQL常用 ...

最新文章

  1. mysql-主从服务器同步搭建
  2. VUE 路径拦截, 开放页面, 基于动态路由, 拦截器
  3. 安装swig后,python3版本切换到了2
  4. flash动画设计期末作业_「2019年下学期」第二十五二十六节:期末作品三-吉祥物设计...
  5. PHP案例:连接数据库实现登录功能
  6. NBear的优缺点粗略分析(3.7版本)-- NB之一
  7. 找回微信人工服务器,微信找回密码人工服务
  8. Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming
  9. ERROR 1366 (HY000): Incorrect string value: '\xCA\xD6\xBB\xFA\xCA\xFD...' for column 'cname' at row
  10. android sim 卡7816,采用SO7816标准规范的SIM卡读卡器的研究
  11. SMBIOS信息概述 -- DMI
  12. 接口测试工具(下篇)——命令行工具curl
  13. quick-cocos 集成ShareSDK
  14. 1063 计算谱半径
  15. nbtscan扫描指定网段的主机
  16. java如何模拟抢单_基于jsp的抢单兼职-JavaEE实现抢单兼职 - java项目源码
  17. python如何计算隐含波动率
  18. 汽车有眼睛和有眼睛的汽车
  19. 将Pdf文件转换为Word
  20. 数的三次方(C++算法——二分)

热门文章

  1. 以为大牛入职阿里后才知道简历这样写???
  2. iPhone 5预售超预期 旧版本在华集中降价
  3. TCP三次握手、四次分手
  4. 有机金属的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  5. Deep Freeze
  6. 基于官方开源Wine7.22完美使用通达信、微信软件
  7. 小清新的jQuery 幻灯片jQuery ck-slide 图片轮播
  8. 【NLP】一文了解命名实体识别
  9. Linux报错superblock read failed修复
  10. py开源源码 最新在线浏览美图源码