クラスの不変条件が無効になった場合に備えて、実行時例外をスローしたいと考えています。これはプログラミング エラー (NullPointerException と同様) であるため、クライアントはその例外をキャッチすべきではありません。
例外クラスをプライベートまたはパブリック (またはその他) と宣言する必要がありますか?
class Foo
{
// ...
private static class InvariantsViolated
{
// ...
}
}
カスタムのランタイム例外と可視性に関するガイドラインはありますか?