AND_CATCH
更新 : 2007 年 11 月
直前に記述された TRY ブロックの中で付加的な例外がスローされたとき、このブロック内に定義された例外処理が起動されます。
AND_CATCH(exception_class, exception_object_pointer_name )
パラメータ
exception_class
調べようとする例外タイプを指定します。標準の例外クラスの一覧については、「CException」を参照してください。exception_object_pointer_name
マクロによって作られる例外オブジェクトのポインタ名。このポインタ名を使って AND_CATCH ブロック内の例外オブジェクトにアクセスできます。この変数はユーザーのために宣言されています。
解説
1 つの例外タイプをキャッチするときは CATCH マクロを、その後の例外タイプをキャッチするためには AND_CATCH マクロを使ってください。TRY ブロックは、END_CATCH マクロを使って終了します。
例外処理プログラムでは、適切である場合、例外オブジェクトに対し例外の特定の原因についてさらに詳しい情報を求めることができます。AND_CATCH ブロックの中で THROW_LAST マクロを起動することにより、1 つ外側の例外処理フレームに処理を移すことができます。AND_CATCH は、直前に記述された CATCH や AND_CATCH ブロックの終わりを示します。
メモ : |
---|
AND_CATCH ブロックは C++ のスコープとして定義します ({} で囲みます)。このスコープ内で変数を宣言すると、このスコープ内でしかその変数にアクセスできないことに注意してください。このことは、exception_object_pointer_name 変数にも適用されます。 |
使用例
CATCH の例を参照してください。
必要条件
ヘッダー : afx.h