Error Manager
The Error Manager (declarations in <ErrorMgr.h>) defines some useful routines for dealing with errors. Its main approach to this is to display a fatal alert (see Figure 7-18) showing an error description, file and line number, and a Reset button.

Figure 7-18. A fatal system alert
There are two severity levels in your source code: fatal and
nonfatal, and three build-time error check levels:
ERROR_CHECK_FULL,
ERROR_CHECK_PARTIAL, and
ERROR_CHECK_NONE. These control whether the error
calls cause the fatal alert to be displayed, or whether the error
calls do nothing.
Here are the available calls:
-
ErrFatalDisplay(msg) Displays the given
msgin a fatal alert if the error check level isERROR_CHECK_FULLorERROR_CHECK_PARTIAL. It does nothing if the error check level isERROR_CHECK_NONE.-
ErrNonFatalDisplay(msg) Displays the given
msgin a fatal alert if the error check level isERROR_CHECK_FULL. It does nothing if the error check level isERROR_CHECK_PARTIALorERROR_CHECK_NONE.-
ErrFatalDisplayIf(condition, msg) If
conditionistrue, it acts likeErrFatalDisplay. Ifconditionisfalse, it does nothing.-
ErrNonFatalDisplayIf(condition, msg) If
conditionistrue, it acts likeErrNonFatalDisplay. Ifconditionisfalse, it does nothing.
Here’s an example of ErrFatalDisplayIf,
which causes a fatal alert if the record can’t be retrieved:
h = DmGetRecord(db, index); ErrFatalDisplayIf(h ...