【发布时间】:2011-05-15 10:16:01
【问题描述】:
例如,在一个地方...
//---------------a
try
{
// some network call
}
catch(WebException we)
{
throw new MyCustomException("some message ....", we);
}
...在另一个地方...
//--------------b
try
{
// invoke code above
}
catch(MyCustomException we)
{
Debug.Writeline(we.stacktrace); // <----------------
}
我打印的stacktrace,它只从a开始到b, 它不包括来自 WebException 的内部堆栈跟踪。
如何打印所有的堆栈跟踪???
【问题讨论】:
-
请注意,不会打印原始 WebException 的堆栈跟踪,因为您抛出了新异常而不是重新抛出 WebException。如果要保留(并输出)原始异常堆栈,请使用
throw;代替throw new MyCustomException(...)。
标签: c# exception-handling stack-trace