Performs a specified action when a command or program executed
within a command procedure encounters an error condition or
is interrupted by Ctrl/Y. The specified actions are performed
only if the command interpreter is enabled for error checking or
Ctrl/Y interrupts (the default conditions). Use the ON command
only in a command procedure.
Format
ON condition THEN [$] command
2 Parameters
condition
Specifies either the severity level of an error or a Ctrl/Y
interrupt. Specify one of the following keywords, which may be
abbreviated to one or more characters:
WARNING Return status of warning occurs ($SEVERITY equals
0).
ERROR Return status of error occurs ($SEVERITY
equals 2).
SEVERE_ERROR Return status of error occurs ($SEVERITY
equals 4).
CONTROL_Y Ctrl/Y character occurs on SYS$INPUT.
The default error condition is ON ERROR THEN EXIT.
command
Specifies the DCL command line to be executed. Optionally, you
can precede the command line with a dollar sign ($).
If you specified an error condition as the condition parameter,
the action is taken when errors equal to or greater than the
specified level of error occur.
2 Examples
1.$ ON SEVERE_ERROR THEN CONTINUE
A command procedure that contains this statement continues
to execute normally when a warning or error occurs during
execution. When a severe error occurs, the ON statement signals
the procedure to execute the next statement anyway. Once
the statement has been executed as a result of the severe
error condition, the default action (ON ERROR THEN EXIT) is
reinstated.
2.$ ON ERROR THEN GOTO BYPASS
$ RUN A
$ RUN B
.
.
.
$ EXIT
$ BYPASS:
$ RUN C
If either program A or program B returns a status code with a
severity level of error or severe error, control is transferred
to the statement labeled BYPASS and program C is run.
3.$ ON WARNING THEN EXIT
.
.
.
$ SET NOON
$ RUN [SSTEST]LIBRA
$ SET ON
.
.
.
The ON command requests that the procedure exit when any
warning, error, or severe error occurs. Later, the SET NOON
command disables error checking before executing the RUN
command. Regardless of any status code returned by the program
LIBRA.EXE, the procedure continues. The next command, SET ON,
reenables error checking and reestablishes the most recent ON
condition.
4.$ ON CONTROL_Y THEN GOTO CTRL_EXIT
.
.
.
$ CTRL_EXIT:
$ CLOSE INFILE
$ CLOSE OUTFILE
$ EXIT
The ON command specifies action to be taken when Ctrl/Y is
pressed during the execution of this procedure: the GOTO
command transfers control to the line labeled CTRL_EXIT. At
CTRL_EXIT, the procedure performs cleanup operations (in this
example, closing files and exiting).
On this website, Google Analytics is used to track visitor statistics. These are anonymised data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc.. You will also see non-personalised ads via Google AdSense. Cookies from Paddle or Paypal are placed when you click on a 'Buy now!' or 'Donate!' button, and possible cookies from Disqus when you use that system to comment on one or more blogposts. Privacy Statement