【问题标题】:.NET Exception handler page: How to show line number with exception?.NET 异常处理程序页面:如何显示异常的行号?
【发布时间】:2010-01-01 13:50:16
【问题描述】:

如何识别线路 nr。异常发生在哪里,并围绕异常显示一段代码?

我想实现一个自定义异常处理程序页面来显示堆栈跟踪,我正在寻找完成上述任务的最简单方法。虽然大部分信息都可以通过 Exception 对象获得,但源代码信息在此处不可用。

【问题讨论】:

    标签: asp.net exception-handling


    【解决方案1】:

    您需要使用StackTrace 类。

    例如:

    var st = new StackTrace(exception, true);
    
    var sourceFrame = Enumerable.Range(0, st.FrameCount).FirstOrDefault(i => st.GetFrame(i).GetFileLineNumber() > 0);
    

    此代码将查找具有可用行号信息的第一帧,如果没有任何帧具有行号,则为null

    然后您可以调用StackFrame 对象的methods 以获取更多信息。请注意,源信息通常仅在调试版本中可用。

    【讨论】:

      猜你喜欢
      • 2010-12-26
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      • 2019-04-04
      相关资源
      最近更新 更多