Имеет ли смысл генерировать частное исключение?

Я хочу вызвать исключение времени выполнения, если инварианты моего класса недействительны. Поскольку это программная ошибка (аналогичная исключению NullPointerException), клиенты не должны перехватывать это исключение.

Должен ли класс исключений быть объявлен частным или общедоступным (или что-то еще)?

class Foo
{
    // ...

    private static class InvariantsViolated
    {
        // ...
    }
}

Существуют ли какие-либо рекомендации по настраиваемым исключениям и видимости среды выполнения?

5
задан fredoverflow 14 March 2011 в 08:23
поделиться