Assert, процедура

Синтаксис


procedure Assert(Test: Boolean);
procedure Assert(Test: Boolean; const Message: string);

Описание

Процедура Assert предназначена для документирования и проверки истинности допущений, сделанных при написании кода. Assert фактически не является процедурой. Компилятор специальным образом обрабатывает вызовы Assert и генерирует имя файла и номер строки, где была нарушена истинность утверждения для облегчения поиска приведшей к этому ошибки.
Если условие Test равно False, Delphi вызывает процедуру по указателю, определяемому переменной AssertErrorProc. Модуль SysUtils устанавливает значение этой переменной равным процедуре, вызывающей исключительную ситуацию EAssertionFailed. Если значение AssertErrorProc равно nil, Delphi вызывает ошибку 21 (EAssertError).
Можно указать необязательное сообщение, которое Delphi передаст процедуре AssertErrorProc. Если сообщение не указано, Delphi использует строку по умолчанию, "Assertion failed".

Ошибки

Советы и приемы

  • Правильный способ применения процедуры Assert предполагает проверку условий, которые должны выполняться, чтобы код работал корректно. Все программисты делают допущения - о внутреннем состоянии объекта, значении и корректности аргументов подпрограммы или значении, возвращаемом функцией. Лучше всего относиться к допущениям как к проверкам на наличие ошибок программиста, а не пользователя.
  • Можно отключить допущения с помощью директивы компилятора $Assertions или $С, но причины для этого появляются редко. Ошибка "assertion failed" может сбить пользователя с толку, но в значительно большей степени его расстроит потеря данных.

Пример


В этой главе содержится несколько примеров использования процедуры Assert: 
смотрите описание процедуры Move, функций Typelnfo, VarArrayLock и VarlsArray.

Смотрите также

    Учебник по языку Pascal          Лабораторные работы по программированию          Справочник




Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: