0
如何识别线nr。发生异常并在异常处显示一段代码?.NET异常处理程序页面:如何显示行号异常?
我想实现一个自定义异常处理程序页面,它将显示堆栈跟踪,并且正在寻找最简单的方法来完成上述操作。尽管大部分信息都可以通过Exception对象获得,但源代码信息在此处不可用。
如何识别线nr。发生异常并在异常处显示一段代码?.NET异常处理程序页面:如何显示行号异常?
我想实现一个自定义异常处理程序页面,它将显示堆栈跟踪,并且正在寻找最简单的方法来完成上述操作。尽管大部分信息都可以通过Exception对象获得,但源代码信息在此处不可用。
您需要使用StackTrace类。
例如:
var st = new StackTrace(exception, true);
var sourceFrame = Enumerable.Range(0, st.FrameCount).FirstOrDefault(i => st.GetFrame(i).GetFileLineNumber() > 0);
此代码会发现它具有可用的行数的信息,或null
,如果没有帧的行号的第一帧。
然后,您可以拨打StackFrame
对象的methods以获取更多信息。请注意,源代码信息通常只在调试版本中可用。
太棒了!谢谢一堆! – Andy 2010-01-01 15:45:06