Name
Assert Procedure
Syntax
procedure Assert(Test: Boolean); procedure Assert(Test: Boolean; const Message: string);
Description
Use the
Assert
procedure to document and enforce the
assumptions you must make when writing code.
Assert
is not a real procedure. The compiler
handles Assert
specially and compiles the filename
and line number of the assertion to help you locate the problem
should the assertion fail.
If the Test
condition is False, Delphi calls the
procedure pointed to by the AssertErrorProc
variable. The SysUtils
unit sets this variable to
a procedure that raises the EAssertionFailed
exception. If AssertErrorProc
is
nil
, Delphi raises runtime error 21
(EAssertError
).
You can include an optional message that Delphi passes to the
AssertErrorProc
procedure. If you do not include
the message, Delphi uses a default message, i.e., “Assertion
failed.”
Tips and Tricks
The proper way to use
Assert
is to specify conditions that must be true in order for your code to work correctly. All programmers make assumptions—about the internal state of an object, the value or validity of a subroutine’s arguments, or the value returned from a function. A good way to think about assertions is that they check for programmer errors, not user errors.Although you can turn off assertions with the
$Assertions
or$C
compiler directives, you will rarely have any reason to do so. Receiving an “assertion failed” error is disconcerting to a user, but much less disconcerting than the user’s data being corrupted. ...
Get Delphi in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.