PL/SQL编程入门之二
来源:互联网 发布:装修淘宝店铺怎么装修 编辑:程序博客网 时间:2024/06/14 10:36
PL/SQL的异常处理
根据Exception来进行异常处理
PL/SQL的begin和end之间发生的异常通过在这个块中定义的exception来处理。同一块中没有异常处理定义的情况下,则引用上层的意外处理。
例如虽然捕捉了异常,但是在异常处理部分什么也没写的情况下什么也不会发生。但是如果不进行异常再调用,块内的异常处理被判断为执行,则不通知上层的块。
BEGIN
<程序段>
EXCEPTION
WHEN <异常名> THEN
<异常处理>
END;
带有异常处理的PL/SQL块定义
在异常处理中,如果有多个when,可以分开处理。
如果想同时处理多个异常,则用 when 异常名 or 异常名 or 。。。
例:发生的所有异常都是什么都不处理然后结束(不显示消息)。
DECLARE
vNum NUMBER(2);
BEGIN
vNum := 1 / 0;
DBMS_OUTPUT.PUT_LINE('数値=' || vNum);
EXCEPTION
WHEN OTHERS THEN
NULL; -- NULL; --什么都不处理
END;
/
Others异常是特殊的异常名,包括所有的异常。但是others不能和其他的异常一起进行处理。
多个例外处理的写法以及调用上层异常处理的方法
在发生除零例外的时候显示错误信息。在发生除零异常的时候,发生异常的本身不能向上层抛出。除零异常以外的所有异常发生的时候在异常处理的部分使用RAISE来向上层抛出这个异常。
DECLARE
vNum NUMBER(2);
BEGIN
-- ZERO DIVIDE EXCEPTION
vNum := 1 / 0;
DBMS_OUTPUT.PUT_LINE('数値=' || vNum);
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE('不能进行计算');
WHEN OTHERS THEN
-- < 异常処理 >
RAISE;
END;
/
Others异常是包括所有异常的异常名,必须要写在异常处理的最后,否则会出现变异错误(因为会把后面的异常处理器给覆盖)。
嵌套块的异常处理
DECLARE
vNum NUMBER(2);
BEGIN
BEGIN
-- ZERO DIVIDE EXCEPTION
vNum := 1 / 0;
EXCEPTION
WHEN ZERO_DIVIDE THEN
NULL;
END;
EXCEPTION
WHEN OTHERS THEN
< 异常処理 >
RAISE;
END;
/
- PL/SQL编程入门之二
- ORACLE PL/SQL编程详解之二
- pl/sql 编程入门
- PL/SQL编程入门
- PL/SQL 编程(二)
- PL/SQL编程入门之一
- pl/sql 编程入门经典教程之触发器篇
- 数据库编程实战:Oracle PL/SQL入门之案例实践
- pl/sql编程(二)
- pl/sql编程(二)
- Oracle读书笔记-----PL/SQL编程(二)之程序流程
- Oracle学习之二 PL/SQL块编程基础
- ORACLE PL/SQL编程详解之八(二)
- ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素
- ORACLE PL/SQL编程之二:PL/SQL块结构和组成元素
- ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素
- ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素
- oracle之pl/sql编程
- 转来的ajax
- 批量更新数据
- zz 理解I/O Completion Port(完成端口)
- asp.net中常用的一些小技巧
- 续实例解析SOCKET编程模型之异步通信篇(下)
- PL/SQL编程入门之二
- 牛根生刁难马云俞敏洪:再创业你们谁会行?
- 给.NET中的Windows窗体加载Xp样式
- OleDbCommand 的用法
- 浅析.Net下的多线程编程
- 路由模拟——类设计的声明部分
- 哈里波特那题
- 在Oracle中使用自增长字段
- 真正类似于 Excel 的网格控件