PL/SQL プロシージャからいくつかのアプリケーション エラーが発生しています。たとえば、いくつかのメッセージを設定しています。
RAISE_APPLICATION_ERROR(-20001, 'message');
'message'
この手順を呼び出したJavaプログラムのcatchブロックの例外セクションに表示する方法はありますか?
PL/SQL プロシージャからいくつかのアプリケーション エラーが発生しています。たとえば、いくつかのメッセージを設定しています。
RAISE_APPLICATION_ERROR(-20001, 'message');
'message'
この手順を呼び出したJavaプログラムのcatchブロックの例外セクションに表示する方法はありますか?
を行っている場合はcatch (Exception e)
、message
から利用できるはずですe.getMessage()
。
実行している場合catch (SQLException e)
(またはデータ アクセス パッケージの例外の種類が何であれ)message
は、e.getMessage()
. さらに、 は-20001
で通過する必要がありe.getErrorCode()
ます。20001
(ではなく)絶対値として渡される場合があることに注意してください-20001
。実験する必要があります。
この投稿が役立つと思います:エラーキャッチ
catch (GenericJdbcException ge) {
IF (se.getErrorCode() == -20001)
Hibernate を使用していない場合は、エラー タイプを変更する必要があるかもしれません。