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

[目次][用語][索引][前へ][次へ]

3.7.2 例外の捕捉エラーの判定

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

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

表3-12 発生する可能性がある例外

名前空間 例外名 意味
Hitachi.OpenTP1 TP1Exception 共通の例外基底クラス
TP1RemoteException サーバで発生した例外の受信
TP1UserException ユーザが任意に使用
TP1MarshalException スタブでのデータ変換エラー
Hitachi.OpenTP1.Connector TP1ConnectorException クラスライブラリでのエラー検知
TcnIllegalArgumentException
(TP1ConnectorExceptionのサブクラス)
メソッド呼び出し時の引数の不正
TcnIllegalStateException
(TP1ConnectorExceptionのサブクラス)
メソッド呼び出し時の状態の不正
TcnNotUsedException
(TP1ConnectorExceptionのサブクラス)
設定されていない機能の使用
<この項の構成>
(1) TP1Exception
(2) TP1RemoteException
(3) TP1UserException
(4) TP1MarshalException
(5) TP1ConnectorException
(6) TcnIllegalArgumentException
(7) TcnIllegalStateException
(8) TcnNotUsedException

(1) TP1Exception

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

(2) TP1RemoteException

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

(3) TP1UserException

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

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

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

(4) TP1MarshalException

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

(5) TP1ConnectorException

Connector .NETが提供するクラスライブラリの各クラスおよびメソッドでエラーを検知した場合に発生する例外です。この例外がそのまま発生することもありますが,この例外のサブクラスとして発生する例外もあります。

(6) TcnIllegalArgumentException

メソッド呼び出し時の引数が不正な場合に発生します。

(7) TcnIllegalStateException

不正な状態でメソッドを呼び出した場合に発生します。

(8) TcnNotUsedException

設定されていない機能を使用しようとした場合に発生します。