【问题标题】:Is there a Jeff Atwood's User Friendly Exception Handling (Or Similar) for C# / Winforms .Net 3.5+?是否有适用于 C#/Winforms .Net 3.5+ 的 Jeff Atwood 的用户友好异常处理(或类似的)?
【发布时间】:2013-06-04 03:16:19
【问题描述】:

我们有一个 .Net 3.5 C# / Winforms 桌面应用程序,其大小/范围/用户群(40 个用户)非常有限。我需要一种方法来收集有关未处理异常的更多信息,但我认为我不需要像 Microsoft 异常处理应用程序块 * 这样大或广泛的东西。我只需要捕获和发送。

对于较新版本的 .Net 上的 C#,是否存在与 Jeff Atwood 的“User Friendly Exception Handling”类似的范围和功能集的异常处理程序? (在我的情况下是 3.5,但我们最终希望移动到 4+)

我很想使用 ELMAH,但它不适用于 Winforms。

或者,Jeff Atwood 的异常处理可以与 C# 3.5 / winforms 一起使用吗?

*更准确地说,我更喜欢 Atwood 先生 2004 年简洁的博客文章,该文章描述了他的解决方案及其有限但有用的范围,而不是另一个广泛而模糊的文档。我们都应该努力很好地解释组件,以至于人们要求在 9 年后将它们移植到另一种语言。 ;-)

【问题讨论】:

  • 我喜欢它截屏的事实!这对调查非常有用。
  • 我在 Andy Searls (codeproject.com/Articles/24437/Automatic-Error-Handling) 上发现了一个类似的问题,但遇到了一些针对我的平台的问题,所以我想问一下,以防我忽略了一个明显或更好的解决方案,然后再破解它。
  • exceptionreporter.codeplex.com 怎么样 - 不需要 V3.5,但显然可以使用它。
  • sgmoore:我以前没见过那个。现在正在调查它。它看起来更像是向最终用户提供信息,而不是向程序员报告。我对两者都很好,但主要需要向程序员报告。

标签: c# winforms exception-handling


【解决方案1】:

您可以设置一个未处理的异常处理程序,然后使用诸如 ELMAH 之类的库记录这些异常,但如果您没有 web.config,则可以通过代码进行配置。

我们使用:http://nuget.org/packages/StackExchange.Exceptional/

捕获未处理的异常:http://mike.woelmer.com/2009/04/dealing-with-unhandled-exceptions-in-winforms/

【讨论】:

  • 那篇文章很有帮助!
  • StackExchange.Exceptional 是否适用于传统桌面 Winform? ELMAH 是针对 Web 应用程序的,否则我会使用它。在其他项目中使用它并取得了巨大成功。
【解决方案2】:

多年来,我一直在使用自己版本的 Jeff 代码。它在我尝试过的每个目标下都能正常工作。

您认为它不会起作用有什么原因吗?

只需更改目标并重建。

【讨论】:

  • 我正在使用 C#。我想我可以将它编译成一个 DLL 并将它放到我的 bin 文件夹中。你是这样使用它的还是在VB上?
  • 原文章的cmets中有C#版本。
  • 太棒了!我去看看。
【解决方案3】:

我使用 NBug,它还为未处理的异常提供了异常处理钩子。它适用于控制台、WinForms 和 WPF,

http://nbug.codeplex.com

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 2011-04-24
    • 2010-09-10
    相关资源
    最近更新 更多