通过值或引用进行throw-in-catch(..)抛出
Does a throw in catch(...) throw by value or by reference
我的老板回答了这个问题为什么。。。(三分)在接球区是否存在?非常优雅。
但这让我想到了一些事情(希望能弥补我之前的糟糕问题),是不是
catch(...){
throw;
}
是否通过值(即获取深度副本)或通过reference重新引发捕获的异常?
标准规定:
没有操作数的抛出表达式重新引发当前处理的异常。使用现有的临时异常重新激活异常;不会创建新的临时异常对象。
-ISO/IEC 14882:2011第15.1节第8段
换句话说,它只是用原始异常对象继续异常传播。我想这类似于你所说的"参考"。
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- C++ MFC Libraries in Travis CI
- 为什么catch中的代码没有被执行
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- catch框架有没有办法比较流或文件
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- `throw 1` in C++
- 是否有理由大多数/所有 try-catch 示例只对 throw 语句使用 void 子函数
- C++ try/catch:OutputDebugStringW in catch 块输出两次
- 通过值或引用进行throw-in-catch(..)抛出
- 使用Throw和Catch的未处理异常运行时错误
- c++ try/catch ignorance in iOS
- C++: "try { foo(); } catch (...) { throw; }"可以优化以"foo();"吗?
- throw, try {} catch{}应该如何在现实世界中使用
- catch(…)在throw上工作吗?没有目标