У меня есть проект, в котором некоторые данные имеют инварианты, которые невозможно применить с помощью языковых конструкций, но я намеревался написать свой код таким образом, чтобы они сохранялись. Если они по какой-то причине сломаны, значит мой код глючит. У меня есть некоторый код проверки работоспособности, который может обнаружить, были ли нарушены эти инварианты, но я не уверен, каков канонический подход Java к реагированию на такое условие - есть ли какое-то стандартное исключение, которое я должен бросить? Использовать утверждение?
Обратите внимание, что это проблема неправильной установки значения в какой-то момент. Сама ошибка возникает не во время проверки работоспособности, а в прошлом, и проверка работоспособности только сейчас ее обнаруживает (т.е. не плохо, что сама проверка работоспособности запущена, плохо, что проверка не удалась).
Спасибо!