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) ...
注意:普通的查询语句不会出现异常,只有使用into对变量进行赋值的时候才会发生异常 --系统变量: notfound -->...用户自定义异常写在:declare里,如: set serveroutput on declare no_result ex
能够检测并且进行错误处理的叫做异常,一般分为用户自定义异常,系统预定义异常。 预定义异常 一:除数是0的系统异常 declare v_number Number(2):=10; v_zero Number(2):=0; v_result Number...
4. Oracle用户和权限 4.1用户和权限 4.2角色 第2章 SQL数据操作和查询 1. SQL简介 2. 查询 2.1查询结构 2.2查询顺序 . 2.3聚合函数 . 3. 创建表和约束 3.1 Oracle常用数据类型 3.2创建表 3.3表的约束 4....
4.5.4 自定义异常 4.5.5 使用sQLCODE和sQLERRIVI 4.5.6 使用RAISEAPPLICATIONERROR 4.6 过程与函数 4.6.1过程 4.6.2 函数 4.6.3 管理过程与函数 4.6.4 过程与函数的比较 4.7 程序包 ...
§5.1.3 用户自定义的异常处理 13 §5.1.4 用户定义的异常处理 13 §5.2 异常错误传播 13 §5.2.1 在执行部分引发异常错误 13 §5.2.2 在声明部分引发异常错误 13 §5.3 异常错误处理编程 13 §5.4 在 PL/SQL 中使用...
(三) 用户自定义异常 68 3.处理异常 68 Exception 68 (四)异常传播 68 1.自定义异常的传播 68 2.声明中的异常 68 (五)使用SQLCODE和SQLERRM 68 第八讲 过程、函数和程序包 72 8.1存储过程(procedure) 72 1.创建 72 2...
§5.1.3 用户自定义的异常处理 13 §5.1.4 用户定义的异常处理 13 §5.2 异常错误传播 13 §5.2.1 在执行部分引发异常错误 13 §5.2.2 在声明部分引发异常错误 13 §5.3 异常错误处理编程 13 §5.4 在 PL/SQL 中使用...
一、填空 1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。 2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)... Oracle数据库中角色分为系统预定义的角色和用户自定义的...
§5.1.3 用户自定义的异常处理 13 §5.1.4 用户定义的异常处理 13 §5.2 异常错误传播 13 §5.2.1 在执行部分引发异常错误 13 §5.2.2 在声明部分引发异常错误 13 §5.3 异常错误处理编程 13 §5.4 在 PL/SQL 中使用...
[Q]怎样自定义异常 4 [Q]十进制与十六进制的转换 4 [Q]怎么样抽取重复记录 5 [Q]怎么样设置自治事务 5 [Q]怎么样在过程中暂停指定时间 5 [Q]怎么样快速计算事务的时间与日志量 5 [Q]怎样创建临时表 6 [Q]怎么样在PL/...
2)支持Access和MsSql200/2005及Oracle9i以上. 3)采用角色来进行权限的授权,每个用户可以属于多个角色,享有交差权限. 4)整合方便,权限检测采用httpmodule方式检测.基本不用对原有程序进行修改,便可将原有程序进行整合...
(5)支持列表视图自定义,用户可定义多个视图(包括外侧树视图、树网格视图、分组视图),可定义关联模块视图,视图可自由切换 (6)支持视图字段自定义、搜索字段自定义、排序字段自定义、列表操作按钮自定义 ...
2)支持Access和MsSql200/2005及Oracle9i以上. 3)采用角色来进行权限的授权,每个用户可以属于多个角色,享有交差权限. 4)整合方便,权限检测采用httpmodule方式检测.基本不用对原有程序进行修改,便可将原有程序进行整合...
2)支持Access和MsSql200/2005及Oracle9i以上. 3)采用角色来进行权限的授权,每个用户可以属于多个角色,享有交差权限. 4)整合方便,权限检测采用httpmodule方式检测.基本不用对原有程序进行修改,便可将原有程序进行整合...
(5)支持列表视图自定义,用户可定义多个视图(包括外侧树视图、树网格视图、分组视图),可定义关联模块视图,视图可自由切换 (6)支持视图字段自定义、搜索字段自定义、排序字段自定义、列表操作按钮自定义 ...
(3) com.chen.exception.DataAccessException.java 是一个自定义异常,用于用户登入时判断用户名及密码. (4)com.chen.web.interceptor.AuthorizationInterceptor.java 限制上传大小的拦截器 (5) src下的...
集成调试器(要求Oracle 7.3.4或更高)——该调试器提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何...
该调试器(要求Oracle 7.3.4或更高)提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何程序单元(包括...
集成调试器(要求Oracle 7.3.4或更高)——该调试器提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何...