O'Reilly logo

Palm OS Programming, 2nd Edition by Neil Rhodes, Julie McKeehan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required