Oracle数据库自定义异常的使用方法
来源:互联网 发布:怎么联系淘宝主播 编辑:程序博客网 时间:2024/05/02 21:21
来源:不详 作者:佚名 时间:2009-9-6 17:14:04 Tags: Orac 使用方法
需求:业务逻辑在处理数据时,需要返回Message并阻止程序的继续运行。但是,在存储过程使用Oracle数据库的Raise根本无法满足现在的要求。
解决方法:
使用RAISE_APPLICATION_ERROR
RAISE_APPLICATION_ERROR ( error_number_in IN NUMBER, error_msg_in IN VARCHAR2);
error_number: 自定义的错误编号。
error_msg:自定义的错误内容。
在使用的过程中,你可能会遇到了下面的问题。
ORA-21000: error number argument to raise_application_error of [xxxx] is out of range
出现此错误的原因如下:
在存储过程中定义的错误代码Number其实并不在Oracle数据库所允许的范围之内。因为Oracle数据库允许自定义的错误代码的范围是-20000 -- -20999
这样,就在Java端可以通过SQLException来捕获异常。
虽然通过SQLException.getMessage()可以捕获到异常的内容,但是这些内容对于开发比较有用。对于客户来说,并不友好,也没有多大意义。
通过SQLException.getErrorCode()可以捕获到自定义的异常错误编号。然后我们就可以通过这个错误编号,自定义相应的Message内容,返回给客户。
下面我们来介绍另一种解决方法:
通过存储过程返回值,你可以直接把错误Message定义在返回值中间。在Java端解析后,可以直接取得Message代码。
示例如下:
If condition then
p_result := 'ERR:MSG2061';
end if;
if substr(p_result, 1, 3) = 'ERR' then
ROLLBACK;
else
p_result = 'OK';
end if;
Java:略去中间的调用存储过程的步骤
if(result != null && result.startsWith("ERR:"))
// 从result中解析出Message_id,显示Message到前台
- Oracle数据库自定义异常的使用方法
- 讲解Oracle数据库自定义异常的使用方法
- oracle的用户自定义异常
- Oracle自定义异常的使用
- oracle自定义类型使用方法
- oracle自定义类型使用方法
- Oracle数据库UNION语句的使用方法
- Oracle数据库Decode()函数的使用方法
- Oracle数据库Decode()函数的使用方法
- Oracle数据库Decode()函数的使用方法
- oracle数据库中substring的使用方法
- Oracle数据库Decode()函数的使用方法
- Oracle数据库Decode()函数的使用方法
- PB内置Oracle数据库接口的使用方法
- Oracle数据库Decode()函数的使用方法
- oracle数据库的数据生成器使用方法
- oracle 系统自定义的21个异常
- Oracle异常 创建并抛出命名的自定义异常
- 关于“无法从传输连接中读取数据: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”错误的解决方法之一
- 重写JAVA的传递规律
- servlet 中文乱码问题:
- Android基础教程(七)之----单选项框RadioGroup的综合应用
- 夜·狂奔
- Oracle数据库自定义异常的使用方法
- 爱情经不起比较
- 全面解析Oracle developer的异常处理机制
- servlet PrintWriter html 页面的时候,调用的图片的路径问题.
- HashMap VS Hashtable
- 。。
- IE窗口关闭时如何提交JS事件
- 关于scanf的一些思考
- Oracle:pl/sql 异常处理[转]