OTHERS 例外ブロックで、例外の種類を表示したいと思います。
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE( -- I want to display the type of exception here -- );
END;
OTHERS 例外ブロックで、例外の種類を表示したいと思います。
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE( -- I want to display the type of exception here -- );
END;
EXCEPTION WHEN OTHERS THEN
特定の目的のない単純な例外ブロックよりも、堅牢な例外ブロックを好みます。例外をキャッチしてから、それについて何かを行うことを常に覚えておいてください。それ以外の場合は、ハンドルを呼び出し元に戻すために RE-RAISE する必要があります。
例外ブロックに、次を追加します。
DBMS_UTILITY. FORMAT_ERROR_STACK;
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
これにより、エラー スタックが得られ、バックトレース プロシージャによってエラーの正確な数が通知されます。EXCEPTION は呼び出し元からハンドルを取得するため、呼び出し元は発生したエラーについて知ることはありません。RAISE
エラーを再発生させ、呼び出し元に返すステートメントを含めます。将来の調査のためにエラーをログに記録するには、エラー ログ テーブルを用意することをお勧めします。
その他の場合については、私の記事http://lalitkumarb.wordpress.com/2014/05/02/when-others-then-null-a-bug/をお読みください。