异常处理
来源:互联网 发布:class转java工具 编辑:程序博客网 时间:2024/06/08 08:54
异常处理
一、预定义异常:
Dup_val_on_index:试图向唯一索引列插入重复值,相当于建立了一个唯一索引 然后再向这个索引的列中插入一条重复的数据就会异常。
Invalid_cursors:试图进行非法的游标操作
Invalid_number : 试图将字符串转换为数字
no_data_found : select into 语句没有返回任何记录
Too_many_rows : select into 语句返回超过1条记录
Zero_divide : 试图除以 0
Cursor_already_open : 试图打开一个已经打开的游标
Others :包括所有异常
二、异常处理语法结构:
EXCEPTION --异常开始
WHEN 异常名1 THEN
--对应的异常处理
1、实例:
DECLARE
newSal emp.sal%TYPE;
BEGIN
select sal into newSal from emp;
EXCEPTION
when too_many_rows then --超过记录用too_many_rows
dbms_output.put_line('返回的记录太多了');
when others then --其他异常则输出
dbms_output.put_line('未知异常');
END;
三、自定义异常:
DECLARE
newSal emp.sal%TYPE;
myexp exception; --声明异常变量
BEGIN
select sal into newSal from emp where rownum=1;
if newsal>500 then --情况出现时就调用异常
raise myexp;
end if;
EXCEPTION
when too_many_rows then --超过记录用too_many_rows
dbms_output.put_line('返回的记录太多了');
when myexp then
dbms_output.put_line('工资不能超过500');
when others then --其他异常则输出
dbms_output.put_line('未知异常');
END;
- 异常处理+异常+处理异常+自定义异常
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 关于移动互联网的小思考
- 四、表空间、数据库对象
- 第八章 8.2.2节练习
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- 五、pl/sql块
- 异常处理
- 八、开发函数
- 网络协议基本常识
- Recover Binary Search Tree
- 四、属性数据类型
- 六、游标
- 开始编程 Day 1
- 【C++ Primer】 神秘的 sizeof(union) 、sizeof(struct) 和内存对齐技术
- 回调函数