1.2.5. $C или $ASSERTIONS : Поддержка формальных утверждений |
Вверх Предыдущий Следующий |
Переключатель {$ASSERTIONS} определяет, нужно ли операторы формальных утверждений компилировать в двоичный код. Если переключатель включен, то Assert(BooleanExpression, AssertMessage); будет компилироваться в двоичный код. Если BooleanExpression равно False, то RTL будет проверять, установлена ли AssertErrorProc. Если она установлена, она будет вызвана с параметрами сообщения AssertMessage, именем файла, LineNumber и адресом. Если она не установлена, то генерируется ошибка времени выполнения 227. AssertErrorProc определена как Type Она может быть использована, в основном, для отладки. Модуль system устанавливает AssertErrorProc для обработчика, который отображает сообщение на stderr и просто выходит с ошибкой времени выполнения 227. Модуль sysutils отлавливает ошибку времени выполнения 227 и генерирует исключение EAssertionFailed. |