当前位置:  开发笔记 > 编程语言 > 正文

限制C++函数允许的抛出有什么好处?

如何解决《限制C++函数允许的抛出有什么好处?》经验,为你挑选了2个好方法。

从C++函数声明可能的异常抛出有什么好处?换句话说,添加关键字throw()实际上做了什么?

我已经读过一个函数声明,例如void do_something() throw();应该保证没有异常来自do_something()函数; 然而,这似乎并不适用于内部调用的函数do_something(),从而使其成为弱保证.

请概述此语言功能的有用性(以及最佳用例).



1> JaredPar..:

没有人比萨特更好地解释这一点

http://www.ddj.com/architect/184401544

简短的版本是

    永远不要编写异常规范

    除了可能是空的



2> Greg Hewgill..:

unexpected()如果函数试图抛出不在其异常列表中的异常,则C++标准要求调用该函数.MSDN的简短描述如下:http://msdn.microsoft.com/en-us/library/awbt5tew(VS.80).aspx

大多数编译器实际上并不支持这种C++功能.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有