我来自 Android 背景,在 Android 开发人员参考中查找方法时,信息通常包括该方法可以抛出哪些异常(以及该方法接受的参数及其返回类型)。我浏览了 MSDN 库中的一些类,但这里似乎并非如此。那么,在开发时,我如何确定一个方法可以抛出哪些异常(如果它抛出任何异常)?
一个具体的例子是可以抛出异常的DataContext.SubmitChanges()
方法(MSDN 链接) 。SqlCeException
除非在运行时意外遇到,否则似乎没有办法解决这个问题。
我来自 Android 背景,在 Android 开发人员参考中查找方法时,信息通常包括该方法可以抛出哪些异常(以及该方法接受的参数及其返回类型)。我浏览了 MSDN 库中的一些类,但这里似乎并非如此。那么,在开发时,我如何确定一个方法可以抛出哪些异常(如果它抛出任何异常)?
一个具体的例子是可以抛出异常的DataContext.SubmitChanges()
方法(MSDN 链接) 。SqlCeException
除非在运行时意外遇到,否则似乎没有办法解决这个问题。
.NET 在异常方面与 java 有点不同。没有throws
语法,您必须声明可以从方法中抛出哪些类型的异常。每个方法都可能抛出任何类型的异常。这就是为什么 MSDN 文档并不总是包含这种数据的原因。
当您在 MSDN 页面上找不到可能的异常列表时,您可以在 stackoverflow(例如 for DataContext.SubmitChanges()
)等网站上搜索/询问它,或者只是测试您的应用程序并尝试生成异常以检查它是什么类型。
.net 中没有与 throws 关键字等效的东西,但您可以告诉用户您知道您的方法可能会在doc-comments中抛出哪些异常(C# 相当于 java doc)