c++ - 在c++异常结构中的函数声明后抛出()?

标签 c++ exception struct

这里来自 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/

相关文章:

c++ - 如何测试密码学程序?

scala - 如何将 Scala 方法参数限制为 classOf[Exception] 或 classOf[Exception 的子类型]

pointers - reflect.New 返回 <nil> 而不是初始化的结构

mongodb - bson 方案的 Virtuals 属性

c++ - 错误 : undefined reference to `censorship()'

c++ - 未定义对头文件函数的引用

c++ - 处理异常时内存泄漏

java - 一个类中的应用程序异常作为 EJBTransactionRollbackException 返回到调用类

c - 预声明标记结构

c++ - 将 QMainWindow 中的 QDockWidget 排列在多列中