我正在尝试为我们的代码库实现一个新的异常,我在SO中发现了这个帖子:
https://stackoverflow.com/a/8152888/654019
但我不确定为什么定义的方法如下:
virtual const char* what() const throw (){
return msg_.c_str();
}
在这种情况下抛出是什么意思?
答案 0 :(得分:1)
这是dynamic exception specification,自C ++ 11以来已弃用,并已从C ++ 17中删除。
throw()
用于指定函数不会抛出任何异常(直接或间接),从C ++ 11我们应该使用noexcept
或noexcept(true)
。