【问题标题】:Nicely format an exception into a string很好地将异常格式化为字符串
【发布时间】:2009-10-14 02:58:30
【问题描述】:

我想为日志记录创建一个格式良好的异常字符串。从 silverlight 执行此操作,因此不能选择 nlog (not there yet)、log4net 等选项。

任何人都看过构建类似代码的代码:

ExceptionType: xxxx
Message: xxxx
StackTrace: XXX
InnerException
    ExceptionType: xxxx
    Message: xxxx
    StackTrace: XXX

我目前正在自己​​编写它,只是希望那里有代码可以做得更好。

更新:我正要结束这个 q,因为我得出了与 Zach 相同的结论,但不会剥夺 Zach 的分数! :)

.ToString() 看起来像这样:

System.Exception:我无法处理 ---> System.DivideByZeroException:试图除以零。 在 MuckingAround.RussTest_Click(对象发送者,RoutedEventArgs e) --- 内部异常堆栈跟踪结束 --- 在 MuckingAround.RussTest_Click(对象发送者,RoutedEventArgs e) 在 System.Windows.Controls.Primitives.ButtonBase.OnClick() 在 System.Windows.Controls.Button.OnClick() 在 System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) 在 System.Windows.Controls.Control.OnMouseLeftButtonUp(控制 ctrl,EventArgs e) 在 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj,IntPtr unmanagedObjArgs,Int32 argsTypeIndex,字符串 eventName)

【问题讨论】:

    标签: c# .net silverlight exception-handling


    【解决方案1】:

    您应该通过简单地调用异常的.ToString() 方法来获得所有这些。我们使用它来记录信息,您会得到我相信您所要求的一切。有关详细信息,请参阅 MSDN System.Exception.ToString()

    【讨论】:

      【解决方案2】:

      仅出于完整性考虑:EntLib 记录器允许您为应用程序异常定义格式化程序。

      【讨论】:

        【解决方案3】:

        另外,看看Enterprise Library 5.0 Silverlight Integration Pack 中的新内容,它将解决 LOB 开发人员的许多跨领域问题,包括日志记录和异常处理。

        欢迎对功能发表评论,也请投票!

        【讨论】:

          猜你喜欢
          • 2011-04-13
          • 1970-01-01
          • 2019-02-01
          • 1970-01-01
          • 2014-11-30
          • 2011-01-01
          • 1970-01-01
          • 2015-12-31
          • 1970-01-01
          相关资源
          最近更新 更多