14.21 例外メンバー関数
Oracle Tuxedoソフトウェアでは、例外のスローと捕捉をサポートしています。
注意: 間違った例外コンストラクタを使用すると、データ・メンバーの初期化が行われません。reasonフィールド付きで定義する例外は、データ・メンバーを初期化するコンストラクタを使用して作成する必要があります。デフォルトのコンストラクタを使用した場合は、そのデータ・メンバーは初期化されず、例外の破棄時にシステムによって存在しないデータの破棄が試行されます。例外を作成する際は、できる限り完全にデータ・フィールドを初期化するコンストラクタを使用するようにしてください。例外を最も簡単に識別するには、OMG IDL定義を確認します。この定義には、データ・メンバーに関する追加の定義が記述されています。
例外の各メンバー関数の説明は次の通りです:
-
CORBA::SystemException::SystemException () CORBA::SystemExceptionクラスのデフォルトのコンストラクタです。マイナー・コードは0(ゼロ)に初期化され、完了ステータスはCOMPLETED_NOに設定されています。-
CORBA::SystemException::SystemException ( const CORBA::SystemException & Se) - これは、
CORBA::SystemExceptionクラスのコピー・コンストラクタです。 -
CORBA::SystemException::SystemException( CORBA::ULong Minor, CORBA::CompletionStatus Status) CORBA::SystemExceptionクラスのこのコンストラクタは、マイナー・コードと完了ステータスを設定します。-
Minor - Exceptionオブジェクトのマイナー・コード。minorフィールドは実装固有の値で、ORBが例外を識別するために使用します。Oracle Tuxedoのminorフィールドの定義は、
orbminor.hファイルにあります。 -
Status - Exceptionオブジェクトの完了ステータス。値を次に示します。
CORBA::COMPLETED_YES CORBA::COMPLETED_NO CORBA::COMPLETED_MAYBE -
CORBA::SystemException::~SystemException () - これは、
CORBA::SystemExceptionクラスのデストラクタです。Exceptionオブジェクトが使用していたメモリーを解放します。 -
CORBA::SystemException CORBA::SystemException::operator = const CORBA::SystemException Se) - この代入演算子は、ソース例外から例外情報をコピーします。
Se引数には、コピー元のSystemExceptionオブジェクトを指定します。 -
CORBA::CompletionStatus CORBA::SystemException::completed() - このメンバー関数は、この例外の完了ステータスを返します。
-
CORBA::SystemException::completed( CORBA::CompletionStatus Completed) - このメンバー関数は、この例外の完了ステータスを設定します。
Completed引数には、この例外の完了ステータスを指定します。 -
CORBA::ULong CORBA::SystemException::minor() - このメンバー関数は、この例外のマイナー・コードを返します。
-
CORBA::SystemException::minor (CORBA::ULong Minor) - このメンバー関数は、この例外のマイナー・コードを設定します。
minor引数は、この例外の新しいマイナー・コードを指定します。minorフィールドは実装固有の値で、アプリケーションが例外を識別するために使用します。 -
CORBA::SystemException * CORBA::SystemException::_narrow ( CORBA::Exception_ptr Exc) - このメンバー関数は、指定の例外がシステム例外に限定可能かどうかを判別します。
Exc引数には、限定する例外を指定します。 -
CORBA::UserException * CORBA::UserException::_narrow( CORBA::Exception_ptr Exc) - このメンバー関数は、指定の例外がユーザー例外に限定可能かどうかを判別します。
Exc引数には、限定する例外を指定します。
親トピック: CORBA API