记录例外情况

本文关键字:情况 记录 | 更新日期: 2023-09-27 18:24:53

我有以下公共接口

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文档中记录这些异常有意义吗?

提前感谢,

记录例外情况

是-即使BarImpl不是唯一的实现者,情况也是如此。

我喜欢使用的例子是Stream类,其中抽象的Read方法列出了Stream实例的用户在使用该方法时可能会抛出的大量异常,而该类的实现者则应该在各种场景下抛出这些异常。

是的。它帮助其他开发人员做好准备并处理可能发生的任何异常。通过浏览MSDN文档,想想它有多少次帮助您为异常做好了准备。

我只记录可以处理的异常。记录任何其他例外情况都没有意义。我对"处理"异常的定义是,该方法可以通过捕获异常来传递承诺的结果。

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

如果你想遵循打开/关闭的原则,你应该记录接口的异常,而不是具体的类。当发生相同的场景时,所有实现都必须抛出相同的异常。

相关文章: