exception ヘッダー・ファイルは、例外の処理に関する幾つかの型と関数を定義します。
namespace std {
class exception;
class bad_exception;
typedef void (*terminate_handler)();
typedef void (*unexpected_handler)();
terminate_handler
set_terminate(terminate_handler ph) throw();
unexpected_handler
set_unexpected(unexpected_handler ph) throw();
void terminate();
void unexpected();
bool uncaught_exception();
};
bad_exception
class bad_exception : public exception {
};
このクラスは、予期しないハンドラーからスローされる可能性のある例外を記述しています。what() から戻される値は、インプリメンテーションごとに定義される C ストリングです。メンバー関数は例外をスローしません。
例外
class exception {
public:
exception() throw();
exception(const exception& rhs) throw();
exception& operator=(const exception& rhs) throw();
virtual ~exception() throw();
virtual const char *what() const throw();
};
このクラスは、ある式および標準 C++ ライブラリーからスローされる、すべての例外の基底クラスになります。what() から戻される C ストリング値は、デフォルトのコンストラクターによって指定されていませんが、一部の派生クラスについては、インプリメンテーション定義 C ストリングとして、コンストラクターによって定義できます。メンバー関数は例外をスローしません。
terminate_handler
typedef void (*terminate_handler)();
この型は、終了ハンドラーとしての使用に適した関数へのポインターを記述しています。
unexpected_handler
typedef void (*unexpected_handler)();
この型は、予期しないハンドラーとしての使用に適した関数へのポインターを記述しています。