我的Visual C ++代码使用接受字符串的std :: exception构造函数,我正在尝试将代码移植到Linux / G ++。我应该使用什么异常类?
答案 0 :(得分:14)
Microsoft Visual C ++的std::exception(const char*)
构造函数是非标准的。在C ++标准库中,std :: exception有一个const char* what() const
方法,除了覆盖之外,它无法指定字符串。
您应该重写代码以使用std::runtime_error
或<stdexcept>
中的其他类作为替代。当然,由于std :: runtime_error是从它派生的,因此不需要更改捕获std :: exception的现有代码。