3

在 VS2008 IDE for c# 中是否有办法查看所有可能源自方法调用甚至整个 try-catch 块的异常类型?

我知道智能感知或对象浏览器告诉我这种方法可以抛出这些类型的异常,但是除了每次都使用对象浏览器之外,还有其他方法吗?编码时更容易获得的东西?此外,我认为智能感知或对象浏览器除了阅读 XML 代码注释之外没有任何作用。

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

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

我的问题归结为,是否存在这样的 VS2008 附加组件?VS2010可能会这样做吗?如果没有,您能否按照我描述的方式实现它,通过扫描类代码以查找抛出的异常类型,人们会发现它有用吗?异常会冒出,因此您必须在每次方法调用时扫描每一段代码,我想这可能是不切实际的,尽管我认为您可以第一次构建索引并以这种方式提高速度。

(这可能是一个很酷的小项目......)

4

1 回答 1

4

您正在寻找的是Red-Gate Exception Hunter

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

例如,鉴于当今 IoC 容器的盛行,您希望以下几行能够抛出什么样的异常:

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

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

于 2010-05-20T19:09:38.777 回答