Hitachi

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


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

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

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

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

名前空間

例外名

意味

Hitachi.OpenTP1

TP1Exception

共通の例外基底クラス

TP1RemoteException

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

TP1UserException

ユーザが任意に使用

TP1MarshalException

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

Hitachi.OpenTP1.Connector

TP1ConnectorException

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

TcnIllegalArgumentException

(TP1ConnectorExceptionのサブクラス)

メソッド呼び出し時の引数の不正

TcnIllegalStateException

(TP1ConnectorExceptionのサブクラス)

メソッド呼び出し時の状態の不正

TcnNotUsedException

(TP1ConnectorExceptionのサブクラス)

設定されていない機能の使用

〈この項の構成〉

(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

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