システム変数 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 システム例外