catch ブロック

C++以下は、例外ハンドラー、または catch ブロックの構文です。

>>-catch--(--exception_declaration--)--{--statements--}--------><
 
 

ハンドラーが、多くの型の例外をキャッチできるように宣言することができます。 関数がキャッチできる許容オブジェクトは、catch キーワードの後に続く括弧の中 (exception_declaration) に宣言します。 基本的な型のオブジェクト、基底および派生クラス・オブジェクト、参照、および これらすべての型を指すポインターをキャッチすることができます。 const 型と volatile 型もキャッチすることができます。 exception_declaration を、非完了型、または以下を除く非完了型を指す参照、またはポインターにすることはできません。

exception_declaration では、型を定義できません。

catch(...) 形式のハンドラーを使用して、前の catch ブロックでキャッチされなかったスローされた例外 をすべてキャッチすることができます。catch 引き数の中の省略符号は、このハンドラーが、スローされたどの例外 も処理できることを示しています。

catch(...) ブロックによって例外がキャッチされた場合には、スローされたオブジェクトにアクセスする 直接的方法はありません。 catch(...) によって、キャッチされた例外に関する情報は、非常に限られています。

catch ブロック内にあるスローされたオブジェクトにアクセスする場合は、オプションの変数名を宣言することができます。

catch ブロックはアクセス可能オブジェクトしかキャッチできません。キャッチされたオブジェクトには、アクセス可能 なコピー・コンストラクターがあります。

関連参照

IBM Copyright 2003