Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的 Visual C++ 代码使用接受字符串的 std::exception 构造函数,我正在尝试将代码移植到 Linux / G++。我应该使用什么异常类?
Microsoft Visual C++ 的std::exception(const char*)构造函数是非标准的。虽然在 C++ 标准库中,std::exception 有一个const char* what() const方法,但它没有提供指定字符串的方法,除非通过覆盖。
std::exception(const char*)
const char* what() const
您应该重写代码以使用std::runtime_error或使用其他类之一<stdexcept>作为替代方案。捕获 std::exception 的现有代码当然不需要更改,因为 std::runtime_error 是从它派生的。
std::runtime_error
<stdexcept>