MSDN库 - 如何知道方法可以抛出什么异常?

Adi*_*ain 6 msdn windows-phone-7

我来自Android背景,当在Android开发人员参考中查找方法时,信息通常包括方法可以抛出的异常(以及方法接受的参数及其返回类型).我已经浏览了MSDN库中的一些类,这似乎不是这种情况.那么,在开发时,我如何确定方法可以抛出的异常(如果它抛出任何异常)?

一个具体的例子是DataContext.SubmitChanges()方法(MSDN链接),它可以抛出SqlCeException异常.除非在运行时偶然遇到这种情况,否则似乎无法接受这一点.

Mar*_*zek 3

.NET 在异常方面与 Java 略有不同。没有throws语法可以让您声明可以从方法中抛出哪些类型的异常。每个方法都可能抛出任何类型的异常。这就是为什么 MSDN 文档并不总是包含此类数据的原因。

当您在 MSDN 页面上找不到可能的异常列表时,您可以在 stackoverflow 等网站上搜索/询问(例如 for DataContext.SubmitChanges()),或者只是测试您的应用程序并尝试生成异常以检查它是什么类型。