12

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

4

1 回答 1

16

Microsoft Visual C++ 的std::exception(const char*)构造函数是非标准的。虽然在 C++ 标准库中,std::exception 有一个const char* what() const方法,但它没有提供指定字符串的方法,除非通过覆盖。

您应该重写代码以使用std::runtime_error或使用其他类之一<stdexcept>作为替代方案。捕获 std::exception 的现有代码当然不需要更改,因为 std::runtime_error 是从它派生的。

于 2012-07-30T22:10:31.590 回答