在java程序中显示来自raise_application_error的字符串

时间:2013-04-29 14:48:37

标签: sql oracle exception exception-handling plsql

我从PL / SQL程序中引发了一些应用程序错误。我正在设置一些消息,例如

RAISE_APPLICATION_ERROR(-20001, 'message');

有什么办法,我可以在我调用此程序的java程序的catch块的异常部分显示'message'吗?

2 个答案:

答案 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,则可能需要更改错误类型。