Ну, первое, это при дебаге полезно, если мы инвариант сломали сразу увидеть. Второе — некая встроенная в код "документация" — показывает пользователю класса, что мы ожидаем, что вот это условие должно соблюдаться при использовании, наследовании и т. д. При этом при обычном условии у нас вообще не должно быть ситуаций, когда такая комбинация данных оказывается в памяти, чтобы это нужно было отслеживать и отлавливать исключениями.
Обсуждают сегодня