例外

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)();

この型は、予期しないハンドラーとしての使用に適した関数へのポインターを記述しています。