Robin Chow's C++ Blog

 

[导入]More Exceptional C++ 之 10

标准 uncaught_exception() 函数提供了对是否还有活动异常的判断。非常值得注意的是,它不表明是否可以安全地抛出异常。
指导原则:
  • 千万不要从析构函数内抛出异常。原因是如果当存在另一个活动异常,而析构函数又抛出一个异常时(堆栈展开时),程序将被终止。写析构函数时加上空的异常规格,因为异常规格将带来额外的代价,因此可以将它写成注释的形式。
  • 如果析构函数调用一个可能抛出异常的函数,一定要将它包含在一个 try/catch 块内以防止异常传出。
最后一点,uncaught_exception() 没有安全的用途,因此建议不要使用。

文章来源:http://my.donews.com/robinchow/2007/01/29/jxfinmwnxhfofnvifzmrkqjgteyknbfxzlfn/

posted on 2007-10-23 20:47 Robin Chow 阅读(69) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜