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.

A fatal system alert
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 msg in a fatal alert if the error check level is ERROR_CHECK_FULL or ERROR_CHECK_PARTIAL. It does nothing if the error check level is ERROR_CHECK_NONE.

ErrNonFatalDisplay(msg)

Displays the given msg in a fatal alert if the error check level is ERROR_CHECK_FULL. It does nothing if the error check level is ERROR_CHECK_PARTIAL or ERROR_CHECK_NONE.

ErrFatalDisplayIf(condition, msg)

If condition is true, it acts like ErrFatalDisplay. If condition is false, it does nothing.

ErrNonFatalDisplayIf(condition, msg)

If condition is true, it acts like ErrNonFatalDisplay. If condition is false, 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 ...

Get Palm OS Programming, 2nd Edition 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.