Making an Error Trap

You can construct an error trap with one of the following conditional structures:

IFERR … THEN … END.

IFERR … THEN … ELSE … END.

The IFERR THEN END Structure

The syntax for this structure is

«IFERR trapclause THEN errorclause END »

The commands in the errorclause are executed only if an error is generated during execution of the trapclause. If an error occurs in the trapclause, the error is ig nored, the remainder of the trapclause is skipped, and program execution jumps to the errorclause. If no errors occur in the trapclause, the errorclause is skipped and execution resumes after the END command.

To enter IFERR THEN END in a program:

Press !°LL %ERROR% !%IFERR%.

Example: The following program takes any number of vectors or arrays from the stack and adds them to the statistics matrix. However, the program stops with an error if a vector or array with a different number of columns is encountered. In addition, if only vectors or arrays with the same number of columns are on the stack, the program stops with an error after the last vector or array has been removed from the stack.

«WHILE DUP TYPE 3 == REPEAT Σ+ END »

In the following revised version, the program simply attempts to add the level 1 object to the statistics matrix until an error occurs. Then, it ends by displaying the message DONE.

Program:

Comments:

 

 

«

 

IFERR

Starts the trapclause.

WHILE

The WHILE structure repeats

1

indefinitely, adding the vectors

REPEAT

and arrays to the statistics matrix

Σ+

until an error occurs.

END

 

THEN

Starts the error clause. If an error

"DONE" 1 DISP

occurs in the WHILE structure,

1 FREEZE

displays the message DONE in

 

the status area.

END

Ends the error structure.

»

 

RPL Programming 135

Page 59
Image 59
HP 48gII Graphing manual Making an Error Trap, Iferr then END Structure, « … Iferr trapclause then errorclause END … »