HC4*_*ica 2 c++ exception-handling
Sutter和Alexandrescu的编码标准告诉我们通过引用捕获异常.
当然,像这样的一揽子建议通常会偶尔有例外(没有双关语意).是否有任何使用案例,首选按值列出异常?
除了明显的不需要可复制性或执行复制(可能是切片)的原因之外,捕获引用的优点是您可以修改它并继续处理throw;.
如果要修改对象,但继续throw;对未修改的对象进行异常处理,则必须进行复制,并且执行此操作的一种方法是按值捕获.
不过,我认为这是非常做作的.通过const引用后跟一个明确的副本将更好地表达意图.
另请注意,抛出新的C++ 11 nested_exception将在新异常中嵌套先前抛出的异常对象,而不是值接收的对象.在这种情况下,你可以想象自己保留对收到的异常的引用,除非你通过引用收到它,否则它将变得陈旧.
| 归档时间: |
|
| 查看次数: |
1229 次 |
| 最近记录: |