beautypg.com

Example 4–13 procedure that returns a status, Example 4–14 using return in an on_error section – Compaq DEC Text Processing Utility AA-PWCBD-TE User Manual

Page 95

background image

Lexical Elements of the DEC Text Processing Utility Language

4.9 Reserved Words

Example 4–13 Procedure That Returns a Status

PROCEDURE user_at_end_of_line

! This procedure returns a 1 (true) if user is at the end of a
! line, or a 0 (false) if the current character is not at the
! end of a line

ON_ERROR
! Suppress warning message

RETURN (1);

ENDON_ERROR;

IF CURRENT_OFFSET = LENGTH (CURRENT_LINE)
THEN

RETURN (1);

ELSE

RETURN (0);

ENDIF;

ENDPROCEDURE;

You can use the RETURN statement in the ON_ERROR section of a procedure
to specify a return to the calling procedure if an error occurs in the current
procedure. Example 4–14 uses the RETURN statement in an ON_ERROR
section.

Example 4–14 Using RETURN in an ON_ERROR Section

! Attach to the parent process.

Used when EVE is spawned

! from DCL and run in a subprocess ("kept DECTPU"). The
! ATTACH command can be used for more flexible process control.

PROCEDURE eve_attach

ON_ERROR

IF ERROR = TPU$_NOPARENT
THEN

MESSAGE ("Not running DECTPU in a subprocess");
RETURN;

ENDIF;

ENDON_ERROR;

ATTACH;

ENDPROCEDURE;

4.9.4.19 ABORT Statement

The ABORT statement stops any executing procedures and causes DECTPU to
wait for the next keystroke. ABORT is commonly used in error handlers. For
additional information on using ABORT in error handlers, see Section 4.9.4.14.

Syntax

ABORT

Example 4–15 shows a simple error handler that contains an ABORT statement.

Lexical Elements of the DEC Text Processing Utility Language 4–29