替代std :: exception(const char *)非标准构造函数

时间:2012-07-30 22:07:35

标签: linux visual-c++ g++ porting

我的Visual C ++代码使用接受字符串的std :: exception构造函数,我正在尝试将代码移植到Linux / G ++。我应该使用什么异常类?

1 个答案:

答案 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的现有代码。