Compaq DEC Text Processing Utility AA-PWCBD-TE User Manual
Page 93
Lexical Elements of the DEC Text Processing Utility Language
4.9 Reserved Words
If the error or warning is trapped by a selector other than OTHERWISE,
DECTPU does not place the error or warning message in the message
buffer unless the error handler code instructs it to do so. In this case, after
setting ERROR, ERROR_LINE, and ERROR_TEXT, DECTPU executes
the code associated with the selector. If the code does not return to the
calling procedure or program, DECTPU checks whether one of the selectors
associated with the code just executed is TPU$_CONTROLC or OTHERWISE.
If so, DECTPU performs the equivalent of the following sequence:
special_error_symbol := 0;
LEARN_ABORT;
RETURN (FALSE);
If not, the error handler terminates and DECTPU resumes execution at the
next statement after the statement that generated the error or warning.
For more information on the special error symbol in DECTPU, see the
description of the SET (SPECIAL_ERROR_SYMBOL) built-in procedure
in the DEC Text Processing Utility Reference Manual.
If the error or warning is trapped by the OTHERWISE selector, DECTPU
writes the associated error or warning message in the message buffer. Next,
DECTPU executes the code associated with the OTHERWISE selector. If the
code does not return to the calling procedure or program, DECTPU performs
the equivalent of the following sequence:
special_error_symbol := 0;
LEARN_ABORT;
RETURN (FALSE);
If the error or warning is not trapped by any selector, DECTPU writes the
associated error or warning message in the message buffer. Next, DECTPU
performs the equivalent of the following sequence:
special_error_symbol := 0;
LEARN_ABORT;
RETURN (FALSE);
If an error or warning is generated during execution of a case-style error handler,
DECTPU behaves as follows:
•
If you press Ctrl/C during the error handler, DECTPU sets ERROR to
TPU$_CONTROLC, ERROR_LINE to the line being executed when Ctrl/C
was pressed, and ERROR_TEXT to the message associated with TPU$_
CONTROLC.
If one of the case selectors in the error handler is TPU$_CONTROLC,
DECTPU executes the code associated with the selector. If the code does not
return to the calling procedure or program, DECTPU performs the equivalent
of the following sequence:
special_error_symbol := 0;
LEARN_ABORT;
RETURN (FALSE);
If none of the selectors is TPU$_CONTROLC, then DECTPU exits from the
error handler and looks for a TPU$_CONTROLC selector in the procedures
or program (if any) in which the current procedure is nested. If DECTPU
does not find a TPU$_CONTROLC selector in the containing procedures or
program, DECTPU places the message associated with TPU$_CONTROLC in
the message buffer.
Lexical Elements of the DEC Text Processing Utility Language 4–27