在Eclipse中编写Java,我习惯于处理异常。在使用VisualStudio的C#中,似乎我不能在方法上说“抛出异常”......在经过大量编码之后,我发现了很多异常,并且在测试过程中不得不抓住它们。我想被迫处理它们,以便VisualStudio可以说你需要一个捕获或我不会让你继续:)这可能吗?
由于
答案 0 :(得分:9)
没有。 C#不会强制您处理异常。这是语言设计者的一个有意义的设计决定。
有关原因的详细信息,请参阅The Trouble With Checked Exceptions,其中Anders Hejlsberg讨论了为什么他们不属于C#。
答案 1 :(得分:2)
在C#中没有检查过的例外。原因很简单:
1)他们往往没有实现预期的目的,因为并非所有人都遵循建议的做法,即明确处理它们或将它们传递给链。相反,发生的事情是开发人员在开发堆栈中间“吃掉”它们 2)因为它们自然是文档而不是可执行代码的一部分,所以它们应该进入文档而不是混乱代码表面
3)开发工具中的C#/ Framework文档是此类文档的理想之选。使用visual studio对象浏览器,浏览到该方法,您将在下部窗格中看到它们。
答案 2 :(得分:0)
不,这是不可能的。
您可以做的是查找您在MSDN中执行的.NET库方法:此处记录了预期由该方法引发的异常。之后,您可以决定要捕获哪些以及您不想在此处理哪些。
答案 3 :(得分:0)
您可以使用various tools查找例外情况。对于.NET 4,还有一个名为Code Contracts的东西可以帮助你强制执行前/后条件,而可能可以避免一些例外。