我们有一个.Net 3.5 C#/ Winforms桌面应用程序,其大小/范围/用户群非常有限(40个用户)。我需要一种方法来收集有关未处理异常的更多信息,但我不认为我需要像Microsoft异常处理应用程序块*那样大或宽的东西。我只需要捕捉和发送。
是否存在类似于Jeff Atwood的“User Friendly Exception Handling”的范围和功能集的异常处理程序,对于较新版本的.Net的C#? (在我的情况下是3.5,但我们最终希望转到4 +)
我很想使用ELMAH,但它不适用于Winforms。
或者,Jeff Atwood的异常处理可以使用C#3.5 / winforms吗?
*更准确地说,我更喜欢阿特伍德先生在2004年的简明博文中描述他的解决方案及其有限但有用的范围,而不是另一方的广泛而模糊的文档。我们都应该努力解释组件,以便9年后人们要求将它们移植到另一种语言中。 ; - )
答案 0 :(得分:3)
你可以设置一个未处理的异常处理程序,然后使用像ELMAH这样的库来记录这些异常,但是可以从代码中配置,因为你没有web.config。
我们使用:http://nuget.org/packages/StackExchange.Exceptional/
捕获未处理的例外:http://mike.woelmer.com/2009/04/dealing-with-unhandled-exceptions-in-winforms/
答案 1 :(得分:2)
我多年来一直在使用自己版本的Jeff代码。它在我尝试的每个目标下都能正常工作。
你有没有理由认为它会起作用?
只需更改目标并重建。
答案 2 :(得分:0)
我使用NBug,它还为未处理的异常提供异常处理挂钩。它适用于控制台,WinForms和WPF,