当我的应用程序失败时,一个catch
块显示带有异常堆栈跟踪的messageBox,以便我可以轻松地看到失败的行数。
该try
块包括调用其他方法的main方法。
catch (Exception e)
{
DetailsTextBox.Text = e.StackTrace;
}
有时,另一个类(不是主类)的方法失败。
由于我想显示相同的messageBox,因此从catch块中将异常抛出到主类:
catch (Exception ex)
{
throw (ex);
}
我的问题:
现在,堆栈跟踪显示的行号是引发异常的行,而不是应用程序失败的行。
有任何想法吗?
您应该只使用throw
not,throw (ex)
因为那样会丢失堆栈跟踪。
但是,正如约翰·桑德斯(John Saunders)所指出的那样,尽管在某些情况下这可能是有用的,但最好不要一开始就捕获异常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句