这里来自 http://www.tutorialspoint.com/cplusplus/cpp_exceptions_handling.htm
#include <iostream>
#include <exception>
using namespace std;
struct MyException : public exception
{
const char * what () const throw ()
{
return "C++ Exception";
}
};
我理解 what
之后的 const
表示该函数没有修改任何内容
结构体的成员,但最后的 throw()
是什么意思?
最佳答案
这意味着它不会抛出任何异常。这对于像 what
这样的函数来说是一个重要的保证,它通常在异常处理中调用:你不希望在尝试处理一个异常时抛出另一个异常。
在 C++11 中,您通常应该使用 noexcept
代替。旧的 throw 规范已弃用。
关于c++ - 在c++异常结构中的函数声明后抛出()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22352927/