我正在编写自己的异常类:
class Exception : public std::runtime_error{
}
我想要重载what()
。我怎样才能做到这一点?
另外,继承std::runtime_error
时需要注意什么?
最佳答案
我认为,作为runtime_error的一部分,我相信它是虚拟的,因此要重载它,您需要创建一个具有完全相同的方法签名的方法。因此,如果您将浏览器指向:http://www.cplusplus.com/reference/exception/exception/然后你会看到what()的定义
因此,要重载它,您需要在头文件中执行以下操作:
class Exception : public runtime_error
{
public:
const char* what() const throw();
}
然后你可以在你的 cpp 文件中定义它:
const char* Exception::what() const throw()
{
// do stuff
}
希望对你有帮助...
关于c++ - 继承自 std::runtime_error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23028276/