好程序员Java教程共享oracle中的三种反常情

程序在正常运转过程中发作的未意料的事情;

为了进步代码的健壮性,运用反常处理部分能够有用的处理程序正常履行过程中或许呈现的过错,使程序正常运转;

pl/sql中反常的界说格局:

declare

begin

exception

end;

反常分为三类:

预界说反常、非预界说反常、自界说反常

预界说反常:由体系自界说的反常;例,no_data_found

常用体系预界说反常:

预界说反常处理(2*个)

过错号反常过错信息称号阐明

ORA-00001DUP_VAL_ON_INDEX企图损坏一个唯一性约束

ORA-00051TIMEOUT_ON_RESOURCE在等候资源时发作超时

ORA-01001INVALID_CURSOR企图运用一个无效的游标

ORA-01012NOT_LOGGED_ON没有连接到oracle

ORA-01017LOGIN_DENIED无效的用户名及口令

ORA-01403NO_DATA_FOUNDselect into句子没有找到数据

ORA-01422TOO_MANY_ROWSselect into 回来多行

ORA-01410SYS_INVALID_ROWID从字符中向rowid转化发作过错

ORA-01476ZERO_DIVIDE将某个数字除以0的时分,会发作该反常

ORA-01722INVALID_NUMBER给数字值赋非数字值的时分,该反常就会发作,这个反常也会发作在批读取时分LIMIT子句回来非正数的时分

ORA-06500STORAGE_ERROR当内存不行分配SGA的满意配额或许是被损坏的时分,引发该反常

ORA-06501PROGRAM_ERROR当Oracle还未正式捕获的过错发作经常会发作,这是由于数据库很多的Object功用而发作

ORA-06502VALUE_ERROR将一个变量赋给另一个不能包容该变量的变量时引发

ORA-06504ROWTYPE_MISMATCH假如游标结构不适合PL/SQL游标变量或许是实践的游标参数不同于游标形参的时分发作该反常

ORA-06511CURSOR_ALREADY_OPEN游标现已被OPEN,假如再次测验翻开该游标的时分,会呈现该反常

ORA-06530ACCESS_INTO_NULL企图拜访未初始化目标的时分呈现

ORA-06531COLLECTION_IS_NULL当程序去拜访一个没有进行初始化的NESTED TABLE或许是VARRAY的时分,会呈现该反常

ORA-06532SUBSCRIPT_OUTSIDE_LIMIT运用不合法的索引值来拜访NESTED TABLE或许VARRAY的时分引发

ORA-06533SUBSCRIPT_BEYOND_COUNT当分配给NESTED TABLE或许VARRAY的空间小于运用的下标的时分,发作该反常(类似于java的ArrayIndexOutOfBoundsException)

ORA-06592CASE_NOT_FOUND假如界说了一个没有ELSE子句的CASE句子,并且没有CASE句子满意运转时条件时呈现该反常

ORA-30625SELF_IS_NULL调用一个目标类型非静态成员办法(其间没有初始化目标类型实例)的时分发作该反常

ORA-01725USERENV_COMMITSCN_ERROR只可运用函数USERENV('COMMITSCN')作为INSERT句子的VALUES子句中的尖端表达式或许作为UPDATE句子的SET子句中的右操作数

文章标签:本文暂时没有添加标签。

版权声明:本文除特别说明外均由原创

本文链接:http://www.festmih.net/post/3900.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!

推荐阅读