有没有办法找出.NET代码中的任何方法可能引发的异常?理想情况下,我想看看可能会抛出什么,并选择我想要处理的是什么。我想我想要从java中的throws子句获得的信息。
情况是我正在对来自网络的xml文档进行linq查询,并想知道可能出现的问题。我可以在反射器中打开组件并看一看,但我认为可能有一种更简单的方法。
答案 0 :(得分:42)
.NET没有像java这样的强制(“已检查”)异常。如果开发人员添加了/// <exception.../>
块,则intellisense 可能会显示此信息 - 但最终会发生比预期更多的异常(OutOfMemoryException
,ThreadAbortException
,{ {1}}等等都可能无法预测地发生。)
一般来说,你应该知道哪些事情可能出错,哪些事实你可以做些有用的事情。在大多数情况下,正确的行为是让异常冒泡(只运行任何“最终”代码来释放资源)。
Eric Lippert在这个主题上有一个很好的博客here。
答案 1 :(得分:8)
我认为Exception hunter可以提供此信息,但需要花钱......
答案 2 :(得分:1)
在StackOverflow上阅读另一篇关于此内容的文章之后,我在编写工具的其他答案的基础上构建了这个,你可以在这里从GitHub获取源代码:
你还可以在这里阅读更多内容:
答案 3 :(得分:0)
只要您使用BCL类,它们都是完整的文档,因此Intellisense会显示方法可以抛出的任何异常。除此之外(和阅读文档),我认为没有办法。