【发布时间】:2014-05-01 08:09:42
【问题描述】:
当我的应用程序失败时,catch 块会显示一个带有异常堆栈跟踪的消息框,以便我可以轻松查看失败的行数。try 块包括调用其他方法的 main 方法。
catch (Exception e)
{
DetailsTextBox.Text = e.StackTrace;
}
有时,来自另一个类(不是主类)的方法会失败。
由于我想显示相同的消息框,因此我从那里的 catch 块将异常抛出到主类:
catch (Exception ex)
{
throw (ex);
}
我的问题:
现在堆栈跟踪显示的行号是我抛出异常的行,而不是应用程序失败的行。
有什么想法吗?
【问题讨论】:
-
你应该只使用
throw而不是throw (ex),因为那样会丢失堆栈跟踪。 -
或者,最好不要捕获你不会处理的异常。
-
@DanielKelley。谢谢。而已!将其发布为答案,以便我可以将其作为选定的答案。
标签: c# exception stack-trace