c# – 如何抛出异常而不重置堆栈跟踪?

这是Is there a difference between “throw” and “throw ex”的后续问题?

有没有办法提取新的错误处理方法而不重置堆栈跟踪?

[编辑]
我将尝试“内部方法”和Earwicker提供的另一个answer,看看哪个更好地标记一个答案.

最佳答案
不确定你是不是这个意思,但是我在另外一个问题上提出的建议就是解决这个问题.

如果你的处理程序返回一个布尔值,无论是否处理了异常,你可以在你的catch子句中使用它:

catch (Exception ex) {
  if (!HandleException(ex)) {
    throw;
  }
}

转载注明原文:c# – 如何抛出异常而不重置堆栈跟踪? - 代码日志