首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Catching框架RAISE_APPLICATION_ERROR SimpleJdbcCall捕获SimpleJdbcCall

用Catching框架RAISE_APPLICATION_ERROR SimpleJdbcCall捕获SimpleJdbcCall
EN

Stack Overflow用户
提问于 2020-05-05 20:30:07
回答 1查看 376关注 0票数 1

我有一个PL/SQL过程调用

代码语言:javascript
复制
RAISE_APPLICATION_ERROR (-20001, 'Illegal id');

如果有什么不对劲。

这似乎是可行的,因为过程退出并在应该的时候抛出错误。

我称这个过程为

代码语言:javascript
复制
simpleJdbcCall.execute(myargs)

但是当我捕捉到异常时,它是DataAccessException类型的。原因是ORA-01403:没有找到任何数据。

我似乎没有办法从我的RAISE_APPLICATION_ERROR电话中得到电话号码或消息。我怎样才能得到这些价值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-08 21:19:57

我们在应用程序中也做了同样的事情;但是,ORA-20001异常应该以UncategorizedSQLException的形式出现在Spring中。如果您看到的是ORA-01403,那么我怀疑您的过程可能以另一种方式失败了:您确定Spring正在提交与单元测试相同的参数吗?

如果你让你的PL/SQL过程只做一个ORA-20001,你还能从Spring得到ORA-01403吗?您确定您正在测试PL/SQL并将Java应用程序附加到同一个数据库吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61622512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档