【问题标题】:Is there a free alternative to Exception hunter?异常猎人有免费的替代品吗?
【发布时间】:2009-03-17 13:25:25
【问题描述】:

我在 Java 和 C# 之间来回切换,而我在用 C# 编码时错过的一件事是强制异常检查(尽管我承认我在用 Java 编码时有时也觉得它很烦人) .

我知道Exception Hunter 可以帮助您追踪一段代码可能引发的异常,但是否有免费/更便宜的替代方案?对于这种软件插件,我真的无法证明 200 英镑是合理的,因为它只是一个烦恼,而不是一个主要问题。

【问题讨论】:

  • 放开他们,伙计。你无法控制世界,你知道的。
  • 但我想。我真的很想。 :p
  • 顺便说一句,我 +1 是因为我对文档感兴趣,而不是因为我相信我可以处理每一个异常......
  • 处理每一个异常可能会导致大量的代码,但记录异常就像 Java 的“抛出”符号的更软版本。如果每个 API 都记录了所有内容,我会很高兴。他们没有。
  • 异常猎人好像已经停产了

标签: c# exception


【解决方案1】:

是的。在您的代码上运行免费的Microsoft Pex。它将显示所有可能抛出的异常。

【讨论】:

  • 看起来是个很棒的工具,感谢您的链接。可惜商业版只适用于 VS Team 版。
  • 如果您没有VS的团队版,您仍然可以从命令行使用该工具。我认为它会生成 HTML 输出。
  • 这不会进行静态分析来查找抛出的异常,它只是通过使用启发式确定的参数调用方法来分析方法。它是为生成单元测试而设计的。 exceptionalplugin.codeplex.com - 这是一个 ReSharper 插件,可以完成这项工作。特工约翰逊是一个很好的补充 - code.google.com/p/agentjohnsonplugin
  • @Jake - Pex 确实进行静态分析,是的,它会发现您的代码可以抛出的异常。 (并且可选地,从检查和异常生成单元测试。)
  • 据我所知,它不会在框架或第三方代码中找到异常,但是,Exceptional 似乎做得相当好。
【解决方案2】:

虽然我了解强制例外,但我不确定它的重要性...例如,最有趣的例外是那些你不会 通常包括(甚至预期)。例如,我目前正在解决一个看起来很像 CF35 中的 CLI 错误的问题,它会间歇性地从确实存在的代码中引发 MethodMissingException(强调:间歇性地)。

如果您想记录您的异常,请使用///<exception ... >...</exception> 标记。有关此主题的其他想法,请参阅Vexing Exceptions(我想知道GhostDoc 是否有帮助?)

【讨论】:

    【解决方案3】:

    Get Exceptional 网站是一种可能性。基本思想是您创建软件,所有异常都会发送到此站点到您的帐户,您可以在其中提取它们。当然它不会读取你的代码,看看有什么异常。

    我不知道是否有 C# 库,但 API 不是太难。

    【讨论】:

      猜你喜欢
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 2010-11-08
      • 2022-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多