Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 很好地将异常格式化为字符串_C#_.net_Silverlight_Exception Handling - Fatal编程技术网

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

C# 很好地将异常格式化为字符串,c#,.net,silverlight,exception-handling,C#,.net,Silverlight,Exception Handling,我想构建一个格式良好的异常字符串用于日志记录。从silverlight执行此操作,因此诸如nlog()、log4net之类的选项不是选项 有人看到过构建类似以下内容的代码: ExceptionType: xxxx Message: xxxx StackTrace: XXX InnerException ExceptionType: xxxx Message: xxxx StackTrace: XXX 我现在自己写,只是希望有代码可以做得更好 更新:我正要结束这个问题,因

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

有人看到过构建类似以下内容的代码:

ExceptionType: xxxx
Message: xxxx
StackTrace: XXX
InnerException
    ExceptionType: xxxx
    Message: xxxx
    StackTrace: XXX
我现在自己写,只是希望有代码可以做得更好

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

.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) System.Exception:我无法处理此-->System.DivideByZeroException:试图除以零。 在MuckingAround.RussTest_单击(对象发送器,路由目标e) ---内部异常堆栈跟踪的结束--- 在MuckingAround.RussTest_单击(对象发送器,路由目标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,事件参数e) 在MS.Internal.JoltHelper.firevent处(IntPtr unmanagedObj、IntPtr unmanagedobjars、Int32 argsTypeIndex、String eventName)
您只需调用异常的
.ToString()
方法即可获得所有这些。我们用它来记录信息,你会得到我认为你想要的一切。有关更多信息,请参见MSDN。

仅为了完整性:EntLib日志记录器允许您为应用程序异常定义格式化程序。

另外,请看下一步的内容,它将解决LOB开发人员的许多交叉问题,包括日志记录和异常处理

请随意评论功能,也请投票