以前曾听人说过要避免使用异常规范,而且也听说C++0x已经把异常规范去掉了。不过因为不知这里面道理何在,所以还是一直在项目中大量地使用了异常规范。目前为止倒也还没遇到过大问题,只是在跨编译器时遇到了些小麻烦:VC++虽然接受但却不会实现异常规范,因此并不会检查函数声明中的异常规范和定义中的异常规范是否一致,然而gcc却会这么做。
今天随手翻阅《C++ Coding Standards》,正好翻到第75条:Avoid exception specifications,于是细细地读起来。不过还是有一点不理解,又从网上找了一篇文章,这才理解了老鸟们劝戒大家不要使用异常规范的原因。
……看来还是抽空把项目中的异常规范删掉吧。