Наука — Школе |
Логическое выражение в первом аргументе процедуры ASSERT имеет результат FALSE. Эта процедура предназначена для контроля пред- и пост-условий, а также инвариантов циклов и т.п.; программиста. Аварийная остановка в этом случае означает, что предположения программиста о поведении программы в данной точке не соответствуют логическому условию в процедуре ASSERT — либо программа не делает того, что требует программист, либо программист допустил ошибку в записи условия.
Попытка разыменования указателя, имеющего значение NIL в данной точке программы — либо из-за того, что указатель не был надлежащим образом инициализирован (не была вызвана процедура NEW), либо из-за того, что неправильно контролируется обход динамической структуры (например, ссылку на NIL обычно содержит последний элемент линейного списка).
Программа выполнила процедуру HALT, которая по определению служит для вызова аварийной остановки.
В правой или (реже) левой части оператора присваивания оказалась не выполненой охрана типа (динамический тип переменной оказался несоответствующим типу, указанному в охране).
Наука — Школе |