3

在VS2008 IDE中有没有一种方法可以让c#查看所有可能源自方法调用或甚至整个try-catch块的异常类型?VS2008(c#)中有没有一种方法可以查看所有可能来自方法调用或甚至整个try-catch块的异常类型?

我知道intellisense或对象浏览器告诉我这种方法可以抛出这些类型的异常,但是除了每次使用对象浏览器之外,还有其他方法吗?编码时更易于访问的东西?此外,我不认为智能感知或对象浏览器只能读取XML代码注释。

不应该有可能扫描一个类的源并找到所有可以抛出的异常类型。 (忘记基于方法输入的路径,只是扫描异常类型的代码)

我错了吗?扩展这个想法,你应该能够将鼠标悬停在'try'或'catch'关键字上,并提供一个工具提示,其中包含可以抛出的所有类型的异常。

我的问题归结为,一个VS2008添加像这样存在吗? VS2010可能会这样做吗?如果没有,你能按照我所描述的方式实现它吗?通过扫描抛出的异常类型的类代码,人们会觉得它有用。异常会冒出来,所以你必须扫描每一个方法调用的每一个代码,我想这可能是不切实际的,尽管我想你可以在第一次建立一个索引并以这种方式提高你的速度。

(这可能是一个很酷的小工程....)

回答

4

你要寻找的是Red-Gate Exception Hunter

但是,Exception Hunter是一个静态分析工具,它不可能告诉你每一段代码的一切。

例如,给定IoC容器的盛行的今天,你会想到什么样的异常以下行能够抛出:

var service = IoC.Resolve<ILogger>(); 
service.Log("Here"); 

这完全取决于实际类型记录器被解决,它是否登录到文件?到数据库?到网络服务?到事件日志?

+0

看起来非常甜。如果只有我用.NET语言编码。 :) – 2010-05-20 19:12:09

相关问题