EGL システム例外は、コード全体で使用可能ですが、ほとんどの場合、onException ブロックで使用されます。概要については『例外処理』を参照してください。
各 EGL システム例外には、少なくとも以下のフィールドがあります。
- code
- 例外を識別するストリング。例えば、「com.ibm.egl.InvocationException」、またはこれと同等の定数である「SysLib.InvocationException」があります。
- description
- 例外の意味を説明するストリング。
EGL システム例外には、次のものがあります。
- SysLib.DLIException
- DL/I アクセスによって発生したハード入出力エラーを識別します。例外特有のフィールドは以下のとおりです。
- statusCode
- GB や II など、2 文字の DLI 状況コード。
- pcbName
- DL/I 呼び出しに使用された PCB の名前。プログラムの PSBRecord 型変数では、同一 PCB
名は、複合プロパティー @PCB の pcbName フィールドで参照されます。
そのフィールドのデフォルト値は、呼び出しに使用された PCB レコードの名前です。
- SysLib.FileIOException
- ファイル・アクセス時に発生したエラーを識別します。
メッセージ・キューのリレーショナル・データベースのアクセス時に発生するエラーでは、この例外は生じません。例外特有のフィールドは以下のとおりです。
- errorCode
- SysVar.ErrorCode でも戻される 8 文字の状況コード。詳細については、『SysVar.ErrorCode』を参照してください。
- fileName
- アクセスされるファイルの論理名。詳細については、『リソース関連とファイル・タイプ』を参照してください。
- SysLib.InvocationException
- call 文で発生したエラーを識別します。
例外特有のフィールドは以下のとおりです。
- errorCode
- SysVar.ErrorCode でも戻される 8 文字の状況コード。詳細については、『SysVar.ErrorCode』を参照してください。
- name
- 呼び出されるプログラムの名前。
- SysLib.JavaObjectException
- EGL インターフェースを介する Java™
メソッドのアクセス時に発生したエラーを識別します。
description フィールドには、Java 例外のメッセージが含まれています。例外特有のフィールドは以下のとおりです。
- exceptionName
- Java 例外の名前。
- SysLib.LobProcessingException
- LOB または CLOB 型のフィールドの処理中に発生したエラーを識別します。例外特有のフィールドは以下のとおりです。
- itemName
- フィールドの名前。
- operation
- 失敗した EGL システム関数の名前。
- resource
- フィールドに付加されたファイル (付加されている場合) の名前。
- SysLib.ServiceBindingException
- サービス・バインディング・ライブラリーでバインディングを初期化する際、
またはバインディングを変更する ServiceLib 関数を呼び出す際に発生したエラーを識別します。
例外特有のフィールドはありません。
- SysLib.ServiceInvocationException
- サービスが呼び出されたときに発生したエラーを識別します。
エラーが発生する可能性があるのは、EGL または JAX-RPC クラスが欠落している場合、
JAX-RPC ランタイムが例外をスローする場合、
または EGL サービス (または EGL ランタイム) が例外をスローする場合などです。
description フィールドの値は、エラー・タイプによって次のように変わります。
- EGL 固有の例外を除いて、diagnostic フィールドの値は、例外の toString メソッドからの値になります。
例えば、JAX-RPC または SOAP からの値です。
- エラーが EGL からの場合は、値は EGL Java ランタイム・メッセージ番号およびメッセージ・テキストです。
これらについては、『Java ランタイム・エラー・コード』の下位にあるトピックに記述されています。
以下の EGL エラーの場合、例外の
code および
description フィールドのみに値が入ります。
- VGJ1501E: プロパティー・ファイルのロード中にエラーが発生しました。
- VGJ1502E: サービス・プロパティーのロード中にエラーが発生しました。
- VGJ1503E: サービス・バインディング・エラー。このサービスは EGL
サービスであり、get/set Web サービス・プロパティーが無効です。
- VGJ1504E: サービス・バインディング・エラー。このサービスは Web
サービスであり、get/set EGL サービス・プロパティーが無効です。
- VGJ1505E: サービス・バインディング・エラー。このサービスは
ローカル EGL サービスで、get/set TCPIP サービス・プロパティーが無効です。
その他の場合、例外特有のフィールドは以下のとおりです。
- faultCode
- 値は、以下のように例外型によって異なります。
- SOAP フォールト例外の場合、値は SOAP 例外の faultCode から戻されます。
- JAX-RPC 例外の場合、値はブランクです。
- EGL 関連の例外の場合、値は以下のメッセージ番号のいずれかになります:
CSO7488E、CSO8109E、VGJ1525E、VGJ1526E、VGJ1527E、VGJ1528E、
VGJ1529E、VGJ1530E、VGJ1532E、VGJ1534E、VGJ1535E、VGJ1536E、
VGJ1538E、VGJ1539E、VGJ1540E、VGJ1541E、VGJ1542E、VGJ1543E、
VGJ1544E、VGJ1545E
- source
- 例外の発生時に呼び出されていたサービスのタイプ:
- EGL。EGL サービスが呼び出されていたことを示します。
- WEB。Web サービスが呼び出されていたことを示します。
- location
- 例外が発生した、サービスのロケーション:
- 直接アクセスされる EGL サービスの場合、値はブランクです。
- TCP/IP によってアクセスされる EGL サービスの場合、値 (使用可能な場合)
は、次のようにフォーマット設定されます。
host:portNumber
- host
- サービスが実行されているマシンを参照する TCP/IP ホスト名
- portNumber
- サービスへのアクセスを提供する TCP/IP ポートの番号
- Web サービスの場合、値は URL、特別には SOAP フォールトの SOAPActor 値です。
- diagnostic
EGL 固有の例外を除いて、diagnostic フィールドの値は、例外の toString メソッドからの値になります。
例えば、JAX-RPC または SOAP からの値です。
EGL 固有の例外の場合、値はブランクです。
- SysLib.MQIOException
- MQSeries® メッセージ・キューのアクセス時に発生したエラーを識別します。
例外特有のフィールドは以下のとおりです。
- errorCode
- SysVar.ErrorCode でも戻される 8 文字の状況コード。詳細については、『SysVar.ErrorCode』を参照してください。
- mqConditionCode
- MQSeries API 呼び出しからの完了コード。
詳細については、『VGVar.mqConditionCode』を参照してください。
- name
- アクセスされるキューの論理名。詳細については、『リソース関連とファイル・タイプ』を参照してください。
- SysLib.SQLException
- リレーショナル・データベースのアクセス時に発生したエラーを識別します。例外特有のフィールドは以下のとおりです。
- sqlca
- SQL 通信域。詳細については、『SysVar.sqlca』を参照してください。
- sqlcode
- SQL 戻りコード。詳細については、『SysVar.sqlcode』を参照してください。
- sqlErrd
- 6 エレメントからなる配列で、各エレメントには、最後の SQL I/O オプションから戻された、対応する SQL 通信域 (SQLCA) 値を含みます。詳細については、『VGVar.sqlErrd』を参照してください。
- sqlErrmc
- JDBC 以外を介してデータベースにアクセスした場合の、sqlcode に関連したエラー・メッセージ。詳細については、『VGVar.sqlErrmc』を参照してください。
- sqlState
- 最近完了した SQL 入出力操作の SQL 状態値。詳細については、『SysVar.sqlState』を参照してください。
- sqlWarn
- 最後の SQL 入出力操作に関して SQL 通信域 (SQLCA) で戻された警告バイトが各エレメントに含まれ、インデックスが SQL SQLCA の説明内の警告番号よりも 1 大きい、11 個のエレメントからなる配列。詳細は、『VGVar.sqlState』を参照してください。