目前,我们只对外部源(例如数据)造成的不可恢复的失败抛出,并且在整个执行过程中有一个尝试捕获。
何时/为什么/如何在现代C++中使用异常?
C++11是否改变了上述问题的答案?
发布于 2011-12-22 04:42:47
关于问题的第一部分(最佳实践),标准引用是Herb的“例外C++:47工程难题、编程问题和解决方案”的“例外-安全问题和技术”部分。
处理C++11部分--以下引用可能会有所帮助:
增加了新的例外-特定的特性:
http://www2.research.att.com/~bs/C++0xFAQ.html#rethrow
http://www2.research.att.com/~bs/C++0xFAQ.html#noexcept
就其应用程序而言,即使看似不相关的特性实际上也非常相关:“unique_ptr的使用包括为动态分配的内存提供异常安全.”http://www2.research.att.com/~bs/C++0xFAQ.html#std-unique_ptr
异常规范已被废弃:http://herbsutter.com/2010/03/13/trip-report-march-2010-iso-c-standards-meeting/
https://stackoverflow.com/questions/8596754
复制相似问题