Closed. This question needs details or clarity。它当前不接受答案。












想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。

7年前关闭。



Improve this question




如何处理从Java端通过RAISE_APPLICATION_ERROR从数据库端抛出的错误。

我使用的是BC4J框架,因为ViewObject用于将数据传递到数据库,所以我在其中设置数据的代码不会抛出SqlException,因此无法将其放入try..catch

更新

我们如何处理从其他地方引发的SQLException。我们不能将try catch块作为其已检查异常,并将编译时错误。

最佳答案

假设您引发错误,例如:

raise_application_error(-2222, 'err message for -2222 error');

在此存储过程的JDBC调用中,在catch内部:
try {

//invoke stored-procedure

}catch(SQLException e) {
if(e.getErrorCode()==-2222) {
//handle error here, or convert to some specific error and use e.getMessage()
}
}

编辑:

我还没有使用BC4J,但是它的JboException也有String getErrorCode(),您可以尝试解决这个问题。

07-23 11:13