【发布时间】:2010-10-02 10:57:48
【问题描述】:
我目前正在编写一个小型框架,供公司内的其他开发人员在内部使用。
我想提供良好的 Intellisense 信息,但我不确定如何记录引发的异常。
在以下示例中:
public void MyMethod1()
{
MyMethod2();
// also may throw InvalidOperationException
}
public void MyMethod2()
{
System.IO.File.Open(somepath...); // this may throw FileNotFoundException
// also may throw DivideByZeroException
}
我知道记录异常的标记是:
/// <exception cref="SomeException">when things go wrong.</exception>
我不明白的是如何记录由代码调用MyMethod1()引发的异常?
- 我应该记录
MyMethod2()抛出的异常吗? - 我应该记录
File.Open()引发的异常吗?
记录可能的例外情况的最佳方法是什么?
【问题讨论】:
-
我知道这不是您要问的(这是一个非常古老的问题),但 Eric Lippert(微软 C# 编译器和设计团队的首席开发人员)写了一篇关于 4我认为每个开发人员在编写异常处理代码时都应该考虑的异常类型:blogs.msdn.com/b/ericlippert/archive/2008/09/10/…
-
@javajavajavajavajava 感谢您的链接 - 绝对值得一读。
-
我认为这是一个有效的问题,因为在 C# 中如何正确记录异常并不明显,而且 50K 视图表明这对很多人来说也不明显。第二个投票最多的答案非常有帮助,因为它表明使用现有的 xmldocs 来记录这一点。投票重新开放。这种“基于意见”的密切原因正在扼杀许多实际上非常有用的编程问题。
标签: c# .net documentation intellisense