<exception>

<exception>中定義的exception類很簡單:

class exception{
public:
    exception()noexcept{}
    virtual ~exception()noexcept{}
    virtual const char*what()const noexcept{
        return "std::exception";
    }
};

它是一個空基類,虛析構函數保證基類和派生類可以正常析構。what函數是虛函數,派生類可以根據需要自定義異常的描述。

bad_exception類與exception類的定義相似,

class bad_exception:public exception{
public:
    bad_exception()noexcept{}
    virtual ~bad_exception()noexcept{}
    virtual const char*what()const noexcept{
        return "std::bad_exception";
    }
};
只是將exception類作爲父類,和修改了what函數返回的內容。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章