c++ - 为什么 C++ 使用 throw() 关键字来指示函数不会抛出任何异常

标签 c++ exception exception-specification

<分区>

这个关键字是不是有点反直觉?

该函数不会抛出任何异常,因此我们向其添加一个 throw() 标记。它应该是 silent() 还是类似的东西?

最佳答案

从 C++17 之前的角度来看:这可能是违反直觉的,但只是暂时的。 throw(type, type, ...) 提供函数可能抛出的异常类型列表。 throw() 提供一个类型列表,即该函数不能抛出任何类型的异常。

关于c++ - 为什么 C++ 使用 throw() 关键字来指示函数不会抛出任何异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58655890/

相关文章:

java - 错误 : java. lang.NoSuchMethodException main([Ljava.lang.String;)

c++ - 恢复 VC++ 9.0 下的异常规范行为

java - 抛出异常时java扫描器是否关闭?

c++ - 函数指针非类型模板参数到类型模板参数的转换

c++ - 如何设置整数的最小/最大值,其中 `++` 和 `--` 以及一般数学服从您在 c++ 中设置的限制?

C++ - 在 header 中初始化变量与使用构造函数

javascript - HTMLCanvas 'getContext' 不是受支持的属性或方法

c++ - 为什么在编译时不检查 C++ 异常规范?

c++ - 为什么用新语法 `noexcept` 重写旧的空抛出规范?

c++ - 按给定轴的角度对点进行排序?