システム変数 SysLib.currentException は、実行単位で最近スローされた例外を識別します。
EGL は、実行時の問題について特定の性質を示すために、一連のシステム例外を備えています。 これらの例外は、それぞれが 1 つの辞書になっており、そこから情報を取り出すことができますが、取り出しには、常にシステム変数 SysLib.currentException (これも辞書) を使用します。この変数により、実行単位内でスローされた最新の例外にアクセスできます。
if (userRequest = "A") try add record1; onException case (SysLib.currentException.code) when (FileIOException) myErrorHandler(12); otherwise myErrorHandler(15); end end end
この場合、FileIOException は「com.ibm.egl.FileIOException」というストリング値に相当する定数です。 EGL 例外定数は常に、「com.ibm.egl」で始まるストリング内の最後の修飾子と等価です。
例外フィールドへのアクセスは、onException ブロック内でのみ行うことを強くお勧めします。 例外が発生しなかったときに、コードが SysLib.currentException にアクセスすると、実行単位は終了します。
if (userRequest = "A") try add record01; onException case (SysLib.currentException.code) when ("com.ibm.egl.SQLException") if (SysLib.currentException.sqlcode == -270) myErrorHandler(16); else myErrorHandler(20); end otherwise myErrorHandler(15); end end end
関連概念
辞書
関連リファレンス
例外処理
EGL ライブラリー SysLib
EGL システム例外