记录异常

时间:2012-02-17 13:07:44

标签: c# documentation-generation code-documentation

我有以下公共接口

public interface Bar{
   public void DoStuff();
}

内部后端类

internal class BarImpl : Bar{
   public void DoStuff(){
     // throw exception if invalid state
     // do something
   }
}

问题:

  • 只有BarImpl实现了Bar接口。
  • BarImpl可以在DoStuff方法中抛出异常。

Bar.DoStuff xml doc?

中记录这些异常是否有意义

提前致谢,

3 个答案:

答案 0 :(得分:3)

是的 - 即使BarImpl不是唯一的实施者也是如此。

我喜欢使用的示例是Stream类,其中abstract Read方法列出了Stream实例的用户在使用此实例时可能会抛出的一大堆异常。方法,反过来,这个类的实现者应该在各种场景下抛出。

答案 1 :(得分:1)

是的。它可以帮助其他开发人员做好准备并处理可能发生的任何异常。想一想通过MSDN文档帮助您为异常做好准备的次数。

答案 2 :(得分:1)

我只记录可以处理的异常。记录任何其他异常没有意义。我对“处理”异常的定义是该方法可以通过捕获异常来提供承诺的结果。

所以这个答案只适用于那些例外:

如果要遵循开放/封闭原则,则应记录接口的异常,而不是具体的类。当相同的情况发生时,所有实现都必须抛出相同的异常。