抛出异常的详细信息

用户名

当我的应用程序失败时,一个catch块显示带有异常堆栈跟踪的messageBox,以便我可以轻松地看到失败的行数。
try块包括调用其他方法的main方法。

catch (Exception e)
{
    DetailsTextBox.Text = e.StackTrace;
}

有时,另一个类(不是主类)的方法失败。
由于我想显示相同的messageBox,因此从catch块中将异常抛出到主类:

catch (Exception ex)
{
    throw (ex);
}  

我的问题:
现在,堆栈跟踪显示的行号是引发异常的行,而不是应用程序失败的行

有任何想法吗?

丹尼尔·凯利

您应该只使用thrownot,throw (ex)因为那样会丢失堆栈跟踪。

但是,正如约翰·桑德斯(John Saunders)所指出的那样,尽管在某些情况下这可能是有用的,但最好不要一开始就捕获异常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章