OpenTP1 for .NET FrameworkのUAPでは,Extension .NETが提供するクラスライブラリやスタブ,.NET Frameworkなどから例外が発生する場合があります。これらの例外は適切に捕捉してください。
Extension .NETからは,次に示す例外が発生する可能性があります。
表4-8 発生する可能性がある例外
名前空間 | 例外名 | 意味 |
---|---|---|
Hitachi.OpenTP1 | TP1Exception | 共通の例外基底クラス |
TP1RemoteException | サーバで発生した例外の受信 | |
TP1UserException | ユーザが任意に使用 | |
Hitachi.OpenTP1.Server | TP1ServerException | クラスライブラリでのエラー検知 |
OpenTP1のすべての例外の基底クラスです。個別の例外を捕捉しないで,まとめて捕捉したい場合などに,このTP1ExceptionクラスですべてのOpenTP1の例外を捕捉できます。
クライアントスタブを使用してサービス要求をした場合に,サーバ側で例外が発生したことを示す例外です。呼び出し元のクライアント側で発生した例外とサーバ側で発生した例外を区別できます。
.NETインタフェース定義を使用しないサービスメソッドでユーザ例外が発生した場合,クライアントにはDCRPCER_SYSERR_AT_SERVERが返されます。エラーの詳細は.NETエラーログファイルを参照してください。
クライアント,およびサーバを.NETインタフェース定義を使用したOpenTP1 for .NET FrameworkのUAPで作成した場合に,サービス要求されたサービスメソッドからクライアントにこの例外を返すことができます。
この例外はUAPで任意に使用できます。また,クライアント側でもTP1RemoteExceptionには変換されません。
なお,.NETインタフェース定義を使用しない場合は,この例外を使用しないでください。使用した場合は,クライアント側にサービス要求のエラーが通知されます。
クラスライブラリの各メソッドでエラーを検知した場合に発生します。各メソッドでの発生条件や内容については「7. クラスリファレンス」を参照してください。
.NETインタフェース定義を使用しないSPP.NETでは,各サービスメソッドですべての例外を確実に捕捉してください。
サービスメソッドが例外をSPP.NET実行コンテナに返した場合,クライアント側にサービス要求のエラーが通知されます。