1
7
取决于你所说的“继续”。无论什么操作需要资源都会失败:这就是“需要”的意思。因此,当您希望在出现错误后继续时,可能会编写如下代码:
这就是为什么只有在有值得做的事情时才应该捕捉异常(在本例中,报告失败并继续下一个Thingym)。 如果要在失败时重试,但仅当构造函数失败时,而不是其他任何失败时:
这或多或少是
如果要在失败时尝试其他资源:
如果“use v”和“use w”基本上是相同的代码,那么重构成一个函数并从两个地方调用它。你的职能在这一点上做了很多工作。 |
2
7
如果RAII构造函数抛出,则在抛出点之前绑定到RAII对象的所有资源都将被正确清理。C++规则是合理设计的,以保证。
如果你的
所以如果你因此使用RAII,你不需要手册
|
3
2
|
4
0
所有使用v的代码都需要在try块中。如果问题是如何缩小引发异常的代码的范围,则可以使用某种标志来指示您在try块中的位置,如下所示:
|
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |