c# - 很好地将异常格式化为字符串

标签 c# .net silverlight exception-handling

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

任何人都看过构建如下代码的代码:

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

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

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

.ToString() 看起来像这样:

System.Exception: I can't handle this ---> System.DivideByZeroException: Attempted to divide by zero.
   at MuckingAround.RussTest_Click(Object sender, RoutedEventArgs e)
   --- End of inner exception stack trace ---
   at MuckingAround.RussTest_Click(Object sender, RoutedEventArgs e)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
   at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)

最佳答案

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

关于c# - 很好地将异常格式化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1564033/

相关文章:

javascript - C# 排序与 JavaScript 排序

C#, Foreach 中的项目

c# - SQL查询语句

c# - AutoMapper 映射到可空属性的属性

c# - 创建原始图形元素(无 Windows chrome)

.net - 如何使用 ng-Flow 在 ASP.NET 中分块上传文件

c# - 在 Silverlight 中,如何将 ListBox 项目选择绑定(bind)到 Navigate 事件?

vb.net - Silverlight中Prism MVVM的VB.net示例

c# - 如何在 VS 2010 中使用 webpart 加入共享点列表?

c# - 将动态数据绑定(bind)到 Silverlight Datagrid c#