`
JAVA天地
  • 浏览: 673508 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

ORACLE中的异常处理

阅读更多

1、ORALCE自带一些命名的系统异常,如下:

OracleExceptionName

OracleError

Explanation

中文注释

DUP_VAL_ON_INDEX

ORA-00001

YoutriedtoexecuteanINSERTorUPDATEstatementthathascreatedaduplicatevalueinafieldrestrictedbyauniqueindex.

插入或者更新语句,与唯一索引相冲突。

TIMEOUT_ON_RESOURCE

ORA-00051

Youwerewaitingforaresourceandyoutimedout.

等待资源超时

TRANSACTION_BACKED_OUT

ORA-00061

Theremoteportionofatransactionhasrolledback.

远程交易的部份交易已经回滚

INVALID_CURSOR

ORA-01001

Youtriedtoreferenceacursorthatdoesnotyetexist.Thismayhavehappenedbecauseyou'veexecutedaFETCHcursororCLOSEcursorbeforeOPENingthecursor.

引用一个不存在的游标,如FETCH或者是CLOSE在其OPEN之前等。

NOT_LOGGED_ON

ORA-01012

YoutriedtoexecuteacalltoOraclebeforeloggingin.

在登陆ORACLE之前执行调用错误

LOGIN_DENIED

ORA-01017

YoutriedtologintoOraclewithaninvalidusername/passwordcombination.

登陆时用户名或者密码非法。

NO_DATA_FOUND

ORA-01403

Youtriedoneofthefollowing:

1.YouexecutedaSELECTINTOstatementandnorowswerereturned.

2.Youreferencedanuninitializedrowinatable.

3.YoureadpasttheendoffilewiththeUTL_FILEpackage.

执行查询无数据、引用一个末初使化的表、通过UTL_FILE包调用到尾的文件

TOO_MANY_ROWS

ORA-01422

YoutriedtoexecuteaSELECTINTOstatementandmorethanonerowwasreturned.

采用SELECTINTO语句,但返回的记录超过了1条

ZERO_DIVIDE

ORA-01476

Youtriedtodivideanumberbyzero.

0为除数

INVALID_NUMBER

ORA-01722

YoutriedtoexecuteanSQLstatementthattriedtoconvertastringtoanumber,butitwasunsuccessful.

将字符串转换成数字,但是转换失败

STORAGE_ERROR

ORA-06500

Youranoutofmemoryormemorywascorrupted.

内存不足

PROGRAM_ERROR

ORA-06501

Thisisageneric"ContactOraclesupport"messagebecauseaninternalproblemwasencountered.

系统自身程序错误

VALUE_ERROR

ORA-06502

Youtriedtoperformanoperationandtherewasaerroronaconversion,truncation,orinvalidconstrainingofnumericorcharacterdata.

在执行转换、截断、非法转换数据到文本出错

CURSOR_ALREADY_OPEN

ORA-06511

Youtriedtoopenacursorthatisalreadyopen.

打开一个已经打开的游标

<!--EndFragment-->

2、也可以采用自定义的异常的名字:

declare

myexception exception;

begin

if 1<>2 then

raise myexception;

end if;

exception

when myexception then

/*注:raise_application_error的语法为raise_application_error(erorcd in int,erortx in varchar 2),其中erorcd的值为20001到20999*/

raise_application_error(20001,'my exception happens');

when others then

raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);

end

3、存储过程可能要涉及到层层调用,因此在每一次都需要写异常处理,这让程序会更健壮。

分享到:
评论

相关推荐

    oracle笔记异常处理

    oracle笔记异常处理,异常处理的代码案例和知识点笔记!

    ORACLE异常处理剖析.pdf

    Oracle异常处理是数据库管理和应用程序开发中的关键环节,它涉及到对程序执行过程中可能出现的错误和异常情况进行有效管理和响应。Oracle数据库,作为一款广泛使用的商业关系型数据库管理系统,提供了强大的异常处理...

    Oracle 存储过程异常处理.docx

    Oracle 存储过程异常处理是指在 Oracle 数据库中使用存储过程时出现的异常情况的处理方法。异常处理是指在程序执行过程中出现错误或异常时,采取相应的处理措施,以确保程序的可靠性和安全性。 一、异常的优点 ...

    Oracle中异常处理

     能够检测并且进行错误处理的叫做异常,一般分为用户自定义异常,系统预定义异常。  预定义异常  一:除数是0的系统异常  declare  v_number Number(2):=10;  v_zero Number(2):=0;  v_result Number...

    ORACLE 异常错误处理

    根据ORACLE提供的异常处理机制,我们可以将异常分为三类: 1. **预定义异常**:这是由ORACLE系统预先定义好的一组异常,当特定的错误发生时,系统会自动抛出相应的异常。例如,在尝试插入一条已经存在的记录到具有...

    自己总结的oracle常见异常处理步骤

    oracle异常处理步骤自己总结的,不太成熟,大家可以不看,只是我的备忘录

    Oracle_存储过程exception异常处理大全及实例经典最终.docx

    Oracle 存储过程 exception 异常处理大全及实例经典最终是 Oracle 数据库中存储过程的异常处理机制。异常处理是指在程序执行过程中出现的错误或未预料到的事件,需要通过异常处理机制来捕捉和处理这些错误,以确保...

    oracle异常处理课后答案

    这个是oracle课成异常处理章节后面的部分习题答案,大概四五道题的答案。

    oracle 异常处理剖析共.pdf

    总结来说,Oracle异常处理是通过预定义和自定义异常来实现的,它增强了程序对错误的响应能力,帮助开发者在遇到问题时能够有序地处理,避免程序崩溃,保证系统的正常运行。理解并熟练掌握Oracle的异常处理机制,对于...

    Oracle存储过程中自定义异常

    ORACLE 用户自定义异常小例子  1.进入pl/sql测试窗口  2.执行语句  declare  empname varchar2(255);  customize_exp EXCEPTION; –自定义异常  begin  FOR c IN (select d.* from scott.dept d) ...

    oracle自定义异常

    #### 一、Oracle异常处理机制简介 在Oracle PL/SQL编程中,异常处理是一项非常重要的功能。它可以帮助开发者捕获并处理程序运行时可能发生的错误情况,确保应用程序能够稳定可靠地运行。Oracle PL/SQL支持多种类型...

    oracle异常处理

    Oracle 异常处理是 PL/SQL 编程中不可或缺的一部分,它允许开发者优雅地处理程序运行时遇到的各种错误。在 PL/SQL 中,异常处理主要分为预定义异常、非预定义异常以及自定义异常。 预定义异常是 Oracle 为常见错误...

    ORACLE游标与异常处理

    在Oracle数据库中,游标(Cursor)和异常处理(Exception Handling)是PL/SQL编程的重要组成部分,它们在处理复杂逻辑和确保数据完整性方面起到关键作用。以下是对这两个主题的详细阐述。 首先,让我们来理解Oracle...

    oracle异常及触发器.pptx

    Others 异常处理器将对所有语法的异常情态进行处理,一般放在异常处理的最后,可以保证所有的错误都被检测到。 Oracle 异常及触发器提供了一种有效的错误处理机制,可以帮助程序员更好地处理程序执行过程中的错误。

    oracle游标和异常处理

    在Oracle PL/SQL中,**异常处理**是确保程序健壮性的重要机制。异常可以分为预定义异常和自定义异常两种类型。 ##### 4.1 预定义异常 Oracle提供了一系列预定义异常,如`NO_DATA_FOUND`、`TOO_MANY_ROWS`等,这些...

    ORACLE 异常处理总结.doc

    Oracle 异常处理是PL/SQL编程中的关键组成部分,它允许开发者优雅地处理程序执行过程中可能出现的错误,确保系统的稳定性和可靠性。异常处理是通过异常情况(EXCEPTION)和异常处理器(EXCEPTION HANDLER)来实现的...

    oracle改sga导致数据库启动异常处理办法

    "Oracle SGA 参数调整导致数据库启动异常处理方法" 在 Oracle 数据库中,SGA(System Global Area)参数调整可能会导致数据库启动异常。这种情况下,需要了解 SGA 参数的调整方法和恢复数据库的方法。 一、SGA ...

    ORACLE 游标 异常 存储过程

    在本篇讨论中,我们将深入理解Oracle游标、异常处理以及如何在存储过程中使用它们。 1. **Oracle游标**: - **定义**:Oracle游标是数据库系统提供的一种机制,用于在结果集中定位并处理单条记录。它实际上是一个...

Global site tag (gtag.js) - Google Analytics