-
27-10-2019 - |
質問
次のパブリックインターフェイスがあります
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?
前もって感謝します、
他のヒント
はい、そうです。他の開発者が準備され、発生する可能性のある例外を処理するのに役立ちます。 MSDNドキュメントを実行することにより、例外の準備をするのに何回役立ったのかを考えてください。
処理できる例外のみを文書化します。他の例外を文書化することは意味がありません。 「処理」の例外の私の定義は、この方法が例外をキャッチすることで約束された結果を提供できることです。
したがって、この答えはこれらの例外のみのためです。
オープン/クローズドの原則に従う場合は、コンクリートクラスではなく、インターフェイスの例外を文書化する必要があります。また、同じシナリオが発生した場合、すべての実装が同じ例外をスローする必要があります。
所属していません StackOverflow