Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Client for .NET Framework 使用の手引


4.6.2 例外の捕捉とエラーの判定

CUP.NETでは,Client .NETが提供するクラスライブラリやスタブ,.NET Frameworkなどから例外が発生する場合があります。これらの例外は適切に捕捉してください。

Client .NETからは,次の例外が発生する可能性があります。

表4‒8 発生する可能性がある例外

名前空間

例外名

意味

Hitachi.OpenTP1

TP1Exception

共通の例外基底クラス

TP1RemoteException

サーバで発生した例外の受信

TP1UserException

ユーザが任意に使用

TP1MarshalException

スタブでのデータ変換エラー

Hitachi.OpenTP1.Client

TP1ClientException

クラスライブラリでのエラー検知

ErrXxxxException

(TP1ClientExceptionのサブクラス)

クラスライブラリでの各種エラー検知

注※

詳細については,「6. クラスリファレンス」を参照してください。

〈この項の構成〉

(1) TP1Exception

OpenTP1のすべての例外の基底クラスです。個別の例外を補捉しないで,まとめて捕捉したい場合などにこのTP1ExceptionクラスですべてのOpenTP1の例外を捕捉できます。

(2) TP1RemoteException

クライアントスタブを使用してRPC要求をした場合に,サーバ側で例外が発生したことを示す例外です。呼び出し元のクライアント側で発生した例外とサーバ側で発生した例外を区別できます。

(3) TP1UserException

クライアント,およびサーバを.NETインタフェース定義を使用したOpenTP1 for .NET FrameworkのUAPで作成した場合に,RPC要求されたサービスメソッドからクライアントにこの例外を返すことができます。

この例外はUAPで任意に使用できます。また,クライアント側でもTP1RemoteExceptionには変換されません。

なお,.NETインタフェース定義を使用しない場合は,この例外を使用しないでください。使用した場合,クライアント側にRPC要求のエラーが通知されます。

(4) TP1MarshalException

クライアントスタブを使用してRPC要求をした場合に,データ変換エラーが発生したことを示す例外です。クライアントとサーバで.NETインタフェース定義が一致していない場合や,サービス定義(データ型定義)に誤りがあった場合などに発生します。

(5) TP1ClientException

Client .NETが提供するクラスライブラリの各クラスおよびメソッドでエラーを検知した場合に発生する,すべての例外の基底クラスです。

各例外のサブクラス,および各メソッドでの発生条件や内容の詳細については,「6. クラスリファレンス」を参照してください。

(6) ErrXxxxException(TP1ClientExceptionのサブクラス)

ErrXxxxException例外については,「6. クラスリファレンス」を参照してください(Xxxxは,例外クラス名によって異なります)。

(7) その他の例外

TP1Clientクラスのインスタンスを使用するスレッドがThread.Abortメソッドを受けた場合,TP1ClientクラスのメソッドはThreadAbortException例外が発生します。この例外が発生した場合,次の点に注意してください。