我的老板非常优雅地回答了这个问题{/ 3}。
但这让我想到了一些事情(希望能弥补我以前的不好问题),是吗
catch(...){
throw;
}
通过值(即采用深层复制)或引用重新抛出捕获的异常?
答案 0 :(得分:9)
标准说:
没有操作数的throw-expression重新抛出当前处理的异常。使用现有临时值重新激活该例外;没有创建新的临时异常对象。
- ISO / IEC 14882:2011第15.1节。 8
换句话说,它只是继续使用原始异常对象进行异常传播。我想这类似于“通过引用”的含义。