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
Assertis 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
$Assertionsor$Ccompiler 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. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access