我想构建一个格式良好的异常字符串用于日志记录。从 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/