我从PL / SQL程序中引发了一些应用程序错误。我正在设置一些消息,例如
RAISE_APPLICATION_ERROR(-20001, 'message');
有什么办法,我可以在我调用此程序的java程序的catch块的异常部分显示'message'
吗?
答案 0 :(得分:3)
如果您正在执行catch (Exception e)
,则应message
提供e.getMessage()
。
如果您正在执行catch (SQLException e)
(或您的数据访问包的任何例外类型),message
仍应提供e.getMessage()
。此外,-20001
应该在e.getErrorCode()
中出现。请注意,它可以作为绝对值(20001
而不是-20001
)来表达;你必须进行实验。
答案 1 :(得分:1)
我认为这篇文章会帮助你:Error catching
catch (GenericJdbcException ge) {
IF (se.getErrorCode() == -20001)
如果您不使用Hibernate,则可能需要更改错误类型。