C#:Visual Studio 2008是否有工具显示一段代码可以引发哪些exception?

例如,如果我打开一个文件,我知道可能发生FileNotFoundException,或者如果我将String转换为double,则可能发生FormatException。 显然,如果一个方法同时做到,两者都可以引发。

有没有办法快速查看方法引发的所有可能的exception? 自己跟踪它似乎容易出错。

它不是内置于VS. 但是,有第三方工具,如Redgate的exception猎人。

编辑我没有受雇于RG,但我是他们产品的粉丝。 我试过这个特别的,但我们最终没有买它。

如果intellisense工具提示应该有方法可以抛出的exception列表,那么如果内存正确地为我服务。 您还可以在Visual Studio中打开一个指向MSDN的浏览器选项卡,如下所示: http : //msdn.microsoft.com/en-us/library/b9skfh7s.aspx#ddueExceptionsToggle

代理约翰逊 pklugin到ReSharper

我认为如果我的记忆正确,Resharper会这样做。 看看Pex ,你可能也会感兴趣。

没有具体方法可以在一段代码中找到所有exception,除非您有办法在您正在运行的任何代码中运行每个可能的分支。 虽然工具可能能够评估可能发生的错误,但您仍然会遇到这些工具无法捕获的情况。 虽然我不是说没有理由运行它们,但你仍然必须使用代码来处理工具可能无法捕获的错误。 我已经看到这样的工具用于代替良好的测试和编码实践。

有时候例外是好事。 我发现的一些最难和最大的影响错误是由于开发人员以这样的方式处理错误,即程序继续但不再处于未来任何调用代码所期望的状态。 只是我的.02