1CREATE OR REPLACE PROCEDURE test_Exception_byLeejin
2(
3 ParameterA IN varchar2,
4 ParameterB IN varchar2,
5 ErrorCode OUT varchar2 --返回值,错误编码
6)
7AS
8 /*以下是一些变量的定义*/
9 V1 NUMBER;
10 V2 nvarchar2(20);
11 V3 NUMBER;
12 APP_EXP EXCEPTION; --自定义异常
13BEGIN
14 ErrorCode :='';
15 IF (ParameterA=ParameterB) THEN
16 ErrorCode := 'ParameterA = ParameterB';
17 RAISE APP_EXP; -- 抛出异常
18 END IF;
19EXCEPTION
20 WHEN APP_EXP THEN --在处理异常
21 RAISE_APPLICATION_ERROR(-20001,ErrorCode);
22 WHEN OTHERS THEN
23 RAISE_APPLICATION_ERROR(-20001,'未知异常');
24 END;
如果需要放回message 并中断程序继续进行,则可以使用:
RAISE_APPLICATION_ERROR(-20001,ErrorCode);
这样,就在Java端可以通过SQLException来捕获异常。
虽然通过SQLException.getMessage()可以捕获到异常的内容,但是这些内容对于开发比较有用。对于客户来说,并不友好,也没有多大意义。 通过SQLException.getErrorCode()可以捕获到自定义的异常错误编号。然后就可以,通过这个错误编号,自定义相应的Message内容,返回给客户了。
注意:oracle允许自定义的错误代码的范围为-20000 -- -20999
在使用过程中,遇到了下面的问题。
ORA-21000: error number argument to raise_application_error of [xxxx] is out of range出现这个错误的原因是:在存储过程中定义的错误代码Number不在Oracle所允许的范围之内。
分享到:
相关推荐
ORACLE 用户自定义异常小例子 1.进入pl/sql测试窗口 2.执行语句 declare empname varchar2(255); customize_exp EXCEPTION; –自定义异常 begin FOR c IN (select d.* from scott.dept d) ...
Oracle PL/SQL支持多种类型的异常,包括预定义异常(如`DUP_VAL_ON_INDEX`、`NO_DATA_FOUND`、`TOO_MANY_ROWS`等)和用户自定义异常。 #### 二、预定义异常介绍 - **DUP_VAL_ON_INDEX**:当试图插入一个重复键值到...
注意:普通的查询语句不会出现异常,只有使用into对变量进行赋值的时候才会发生异常 --系统变量: notfound -->...用户自定义异常写在:declare里,如: set serveroutput on declare no_result ex
本篇文章将深入探讨如何在C#中调用Oracle的UDT(用户定义类型)以处理自定义结构数组类型,并提供相关的源代码示例。 UDT在Oracle数据库中允许我们创建自定义的数据类型,这些类型可以包含复杂的数据结构,如结构体...
用户自定义异常由开发者显示定义,在 PL/SQL 块中传递信息以控制对于应用的错误处理。 Oracle 提供了预定义的内部异常,如 SELECT INTO 语句不返回行时产生的 NO_DATA_FOUND 异常、除数为零的 ZERO_DIVIDE 异常等...
在 Oracle 数据库中,自定义函数是一种非常重要的特性,允许用户根据需求创建自己的功能模块,以扩展数据库的内置功能。本文将详细讲解如何创建、调用和管理自定义函数,以及讨论它们在实际应用中的优缺点。 一、...
自定义异常是Oracle提供的一种机制,让我们能够根据具体业务需求创建并抛出自定义的错误信息。本文将通过两个示例详细讲解如何在PL/SQL中实现自定义异常。 首先,我们来看第一个示例,这个例子展示了如何通过`raise...
通过上述介绍,我们可以看到,ORACLE提供了一套完整的异常处理机制,包括预定义异常、非预定义异常和用户自定义异常。合理地使用这些异常处理机制,不仅能够提高程序的健壮性和可用性,还能够提升用户体验。在实际...
总结来说,Oracle异常处理是通过预定义和自定义异常来实现的,它增强了程序对错误的响应能力,帮助开发者在遇到问题时能够有序地处理,避免程序崩溃,保证系统的正常运行。理解并熟练掌握Oracle的异常处理机制,对于...
异常处理可以分为三种类型:预定义的异常处理、非预定义的异常处理和用户自定义的异常处理。 ### 预定义的异常处理 预定义的异常处理是 Oracle 预定义的异常情况,大约有 24 个。对这种异常情况的处理,无需在程序...
Oracle提供了预定义的系统异常和用户自定义异常。 2. 异常处理机制: Oracle的异常处理主要包括两个部分:异常的声明和捕获。在PL/SQL块中,你可以使用`BEGIN...EXCEPTION...END`结构来定义异常处理。在`EXCEPTION`...
6. **其他兼容性特性**:还包括异常处理、游标处理、包的创建等,以尽可能地模拟Oracle的行为。 安装和使用"orafce-3.1.2"扩展,通常需要在PostgreSQL服务器上执行SQL命令进行安装,并在查询中调用这些函数。需要...
在这个例子中,我们创建了一个自定义异常`v_age_too_low`,并在条件满足时手动引发它。这样,我们可以在代码中对特定错误进行更细致的控制。 总的来说,Oracle游标和异常处理是编写高效、健壮的PL/SQL程序的关键...
用户定义异常是用户自定义的异常,可以用于实现复杂的业务逻辑。 其他技术 Oracle 高级语法还包括其他技术,例如 Dual 表、NetMgr 工具、TNSNAMES.ORA 文件等。 Dual 表是一种特殊的表,可以用于实现特殊的业务...
3. 易用性:函数编写清晰,附带详尽注释,即使是没有深厚Oracle编程经验的用户也能快速上手使用。 4. 兼容性:适用于多种版本的Oracle数据库,确保在不同环境下都能稳定运行。 输入参数:函数接受一个标准的手机号码...
在Oracle中,可以通过RAISE_APPLICATION_ERROR函数来创建自定义异常。这个函数允许开发者指定一个唯一的错误号(在-20000到-20999之间)和相关的错误消息。在实验中,可以设计一个自定义异常,比如检查某个特定条件...
这些异常可以是预定义的(系统异常)或自定义的(用户异常)。 - **处理**:使用`BEGIN...EXCEPTION...END`块来捕获和处理异常。例如: ```sql DECLARE cursor_name CURSOR FOR SELECT * FROM non_existent_...
在Oracle SQL和PL/SQL中,异常分为预定义异常(如NO_DATA_FOUND,TOO_MANY_ROWS等)和用户自定义异常。预定义异常通常对应于特定的数据库操作错误,而自定义异常则允许开发者根据业务需求创建自己的异常类。 异常...
用户自定义异常则是在声明部分用EXCEPTION关键字声明,并通过RAISE语句引发。如果需要创建自定义的错误消息,可以使用Raise_Application_Error过程,其错误编号需在-20000到-20999之间,且消息长度不超过2048个字节...