An Overview of Assertion Checking
Don't believe everything you hear
──────────────────────────────────────────────────────────────────────────────

Assertion checking is not the be-all and end-all that some people will have
you believe it is. It is not the end of debuggers as we know it.

Mankind is not doomed to oblivion without Assertion checking.

That said, assertion checking does have a role to play. It can aid you in
validating your variables and parameters, especially when you pass them
around your program.

Assertion checking can sometimes aid the programmer who mistypes a variable,
passes the wrong variable name, makes an incorrect function call or simply
cannot remember the exact value that a function should take or return.

It can aid in the immediate discovery of a straight-forward blundering
error.

One of the best places for an Assertion checker is in a debugger.

Here in debuggerland, you can actually see the assertion occur, and then see
each and everyone of the variables at hand, look up and down the call stack
to see just exactly what happened, whether you missed out a parameter, a
comma or just what actually caused the assertion.

At this point you could create a note using Shift-Alt-N command - to add a
note to the program notes file - saying that you should fix it later. In the
meantime you can edit the variable within the variable window to give it the
correct parameter, and continue on with execution and testing of the
program.

In this way you can run the entire program without having to stop the
program, correct the variable within the source code, re-compile, re-link,
and re-establish where you were in the program, before the assertion
occurred - now doesn't that make sense.