Утверждения должны использоваться для проверки того, что никогда не должно произойти, а исключения должны использоваться для проверки того, что может произойти. Например, функция может делить на 0, поэтому следует использовать исключение, но можно использовать утверждение для проверки того, что жесткий диск внезапно исчезает.
Полезны ли утверждения?
Программисты могут использовать утверждения , чтобы определять программы и рассуждать о правильности программ. … Если утверждение оценивается как ложное во время выполнения, возникает ошибка утверждения, что обычно приводит к прерыванию выполнения.
Почему утверждения плохи?
Утверждения можно использовать для проверки внутренних инвариантов реализации, таких как внутреннее состояние до или после выполнения какого-либо метода и т. д. не оправиться от этого.
Утверждения дорогие?
Работа, выполняемая assert, будет по крайней мере такой же дорогой, как и работа, выполняемая самим методом Чтобы убедиться, что утверждения не влияют на производительность в развернутых приложениях, утверждения могут быть включена или отключена при запуске программы и отключена по умолчанию.
Утверждения плохие?
Нет, ни goto, ни assert не являются злом. Но и то, и другое можно использовать не по назначению. Assert предназначен для проверки работоспособности. Вещи, которые должны убить программу, если они неверны.