JNI 例外の処理

ILE RPG では、例外が発生すると例外メッセージを出して知らせます。プログラムは明示的に例外をチェックする必要はありません。 代わりに、例外が発生した場合に制御を入手する例外処理プログラムをコーディングすることができます。ユーザーは、ユーザー自身の JNI 呼び出しを行なう時に JNI 例外を自分で処理する必要があるだけです。JNI 機能の呼び出しの結果、処理されない Java™ 例外が発生した場合、付随する例外メッセージはありません。その代わり、JNI プログラマーは JNI 機能を呼び出した後は毎回、例外が発生したかどうかをチェックする必要があります。これは、Java Exception オブジェクト (または JNI の値が 0 になる Java null オブジェクト) を戻す ExceptionOccurred JNI 機能を呼び出すことにより行ないます。いったん例外が発生したことを判別したら、 行なえる JNI 呼び出しは ExceptionClear と ExceptionDescribe のみです。ExceptionClear を実行した後、ユーザーは解放されて再度 JNI 呼び出しを行なえるようになります。ExceptionClear を呼び出す前に非例外 JNI 呼び出しを行なった場合は、例外は消失し、もはや詳細を知ることができなくなります。RPG は JNI 例外を必ず RPG 例外に変換します (その時実行中だった RPG 機能に応じて、RNX030x メッセージのいずれかが出されます)。

ヒント

前述の JNI ラッパー・プロシージャーのユーザー独自のバージョンに、このようなタイプの例外処理コードを組み込むこともできます。