【发布时间】:2011-06-02 15:13:39
【问题描述】:
可能重复:
Is there a generally accepted idiom for indicating C++ code can throw exceptions?
您如何在代码中指出 C++ 函数何时可以抛出某些东西?我的意思不是通过文档,而是通过语法。
例如,我尝试在函数声明的末尾放置一个throw(std::exception),但这给了我一个警告,说“C++ 异常规范被忽略,除了指示函数不是 __declspec(nothrow)”,我猜这意味着编译器忽略了throw 并继续进行,就好像它不存在一样。
我还尝试在声明的末尾添加throw()(括号中没有任何内容),但是 - 与我的预期相反 - 这意味着函数预计永远不会抛出任何东西:“函数假定不会抛出例外,但确实如此”。
Atm 我使用throw(...) 在语法上指示函数可能会抛出,因为这不会给我任何错误或警告。对于我如何通过语法来表示这一点,您还有其他建议吗?
【问题讨论】:
标签: c++ exception syntax coding-style