Jalf已经链接了它,但是GOTW很好地说明了为什么异常规范没有人们希望的有用:int Gunc() throw(); // will throw nothing (?)int Hunc() throw(A,B); // can only throw A or B (?)评论正确吗?不完全的。Gunc()可能确实会丢东西,并且Hunc()可能会丢掉A或B以外的东西!编译器只是保证在它们发生错误时击败它们……哦,并且在大多数情况下也使您的程序失去意义。这就是它的最终结果,您可能最终会调用,terminate()并且您的程序死于快速但痛苦的死亡。GOTW的结论是:因此,这似乎是我们作为一个社区迄今为止所获得的最佳建议:道德准则1:永远不要编写异常规范。道德2:可能是空的,但如果我是你,我什至会避免。