读书人

自定义oracle 抛出错误

发布时间: 2012-12-13 11:23:47 作者: rapoo

自定义oracle 抛出异常

数据库异常抛出

Caused by: java.sql.SQLException: ORA-02291: 违反完整约束条件 (xxx.FK_yyyy) - 未找到父项关键字

?

如何自定义oracle 抛出的异常?

?

使用RAISE_APPLICATION_ERROR 函数

该函数是将应用程序专有的错误从服务器端转达到客户端应用程序(其他机器上的SQLPLUS或者前台开发语言)

?

如何使用

RAISE_APPLICATION_ERROR( error_num IN NUMBER, error_msg IN VARCHAR2);

error_num :错误码,-20000到-20999 之间,这样就不会与ORACLE已有的的错误代码发生冲突。

error_msg :错误信息, 的长度不能超过 2k,否则截取 2k。

?

举例说明:要删除树形结构的某个节点

java程序 1.判断该节点状态是否能够被删除

? ? ? ? ? ? ? 2.判断该节点下面是否有子节点,如果有不能删除

? ? ? ? ? ? ? 3.删除该节点

?

如果用自定义异常则可以创建如下代码

?

try{     ....jdbc调用上面得语句(替换'0001'为传入的节点id).....}catch(Exception e) {        String error = "";if (e instanceof InvocationTargetException) {Throwable targetEx = ((InvocationTargetException) e).getTargetException();error =  targetEx.getMessage();} else {error = e.getMessage();}        return error;}
?

?

?

?

读书人网 >其他数据库

热点推荐