【发布时间】:2010-01-28 20:10:21
【问题描述】:
void MyFunction(int i) throw();
它只是告诉编译器该函数不会抛出任何异常。
它不能确保函数什么都不抛出,对吗?
那么 throw() 有什么用
它是多余的吗?为什么提出这个想法?
【问题讨论】:
-
考虑阅读 Herb Sutter 关于该主题的文章:gotw.ca/publications/mill22.htm “道德 #1:永远不要编写异常规范。道德 #2:除非可能是空的,但如果我是你,我会避免即便如此。”
-
我喜欢 emty 异常规范。但只要你保证它不会抛出任何东西。
-
“为什么提出这个想法”——因为当时它似乎是个好主意。 ;) C++ 有很多这样的“特性”,在今天被认为是坏主意,但在提出时看起来很棒。
标签: c++