0
有許多方法可以創建從其他例外派生的新例外。一種方法是使用類似this創建來自現有的新例外
struct MyException : public exception
{
const char * what() const throw()
{
return "C++ Exception";
}
};
,另一個方法是調用基類的構造函數。
class My:public runtime_error
{
public:
My(string s):runtime_error(s){}
};
第二種方法顯然是給我的好處插入(在創作)是由什麼()方法的輸出字符串。我的問題是我應該選擇哪種方法,以及我是否需要使用第一種方法。
「爲const char *什麼()const的noexcept」 不能編譯。我在「http://www.cplusplus.com/reference/exception/exception/exception/」注意到這個「noexcept版本」,但它沒有編譯。 – Slazer
什麼是編譯器錯誤?很可能您的編譯器不完全支持C++ 11。 –
錯誤連同代碼在http://pastebin.com/PQ8ZhV24 編譯器是「g ++(GCC)4.7.2 20120921(Red Hat 4.7.2-2)」 – Slazer