网站首页 > 技术文章 正文
好程序员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子句中的右操作数
猜你喜欢
- 2025-07-27 基于X86平台的高性能数据库集群技术的研究
- 2025-07-27 被 NULL 值坑过的必看!用 COALESCE 函数一招搞定所有空值问题
- 2025-07-27 还不理解 Error 和 Exception 吗,看这篇就够了
- 2025-07-27 案例分享| CPU监控异常(cpu实时监控)
- 2025-07-27 PL/SQL基础之异常(运行sql出现异常)
- 2024-10-28 Ask Oracle:狮子座6月5日至11日运势详细分析
- 2024-10-28 oracle的控制文件的隐含参数 oracle查看控制文件路径
- 2024-10-28 Oracle数据库常用undo查询思路 oracle undo
- 2024-10-28 Oracle序列中Cache与NoCache的区别及何时使用
- 2024-10-28 重建MDisk导致上层Oracle数据库不可用的服务器数据恢复案例
你 发表评论:
欢迎- 634℃几个Oracle空值处理函数 oracle处理null值的函数
- 626℃Oracle分析函数之Lag和Lead()使用
- 614℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 609℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 606℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 600℃【数据统计分析】详解Oracle分组函数之CUBE
- 588℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 574℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- CVE-2025-30762|Oracle(java oracle)
- 低代码可能铲不掉“屎山”,但能让这个它更有「型」
- 科技大事件:新苹果手表可通过击掌或握手来传递信息
- 你的百万级上下文窗口大模型,可能并没有你想象中那么强
- DApp 开发中的安全测试(软件测试过程中安全测试的具体应用场景和测试思路)
- 盘点Java中最没用的知识⑧:这3个过时套路,你还在代码里硬撑?
- 机房硬件设备及Oracle数据库软件维护服务项目竞争性磋商公告
- 微软与甲骨文扩大合作关系,推出Oracle Database@Azure
- JPA实体类注解,看这篇就全会了(java实体类注解)
- Java反射机制最全详解(图文全面总结)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)