Contents | Index | < Browse | Browse >
When an interrupt is enabled and its corresponding condition arises, a transfer of control to the label specific to that interrupt occurs.

The special variable SIGL is set to the current line number whenever a transfer of control occurs. If an ERROR or SYNTAX condition causes an interrupt, the special variable RC is set to the error code that triggered the interrupt.

A SYNTAX interrupt will transfer control to the label "SYNTAX:".

There are two forms of the SIGNAL instruction:
1)SIGNAL {ON | OFF} condition.
In this form SIGNAL must be followed by one of the keywords ON or OFF and one of the condition keywords listed below:
BREAK_C
BREAK_D
BREAK_E
BREAK_F
ERROR
HALT
IOERR
NOVALUE
SYNTAX

2)SIGNAL [value] expression

An immediate interrupt is generated that transfers control to the label specified by the expression result. The instruction thus acts as a "computed goto".

You cannot use an interrupt transfer to jump into the range of a DO-loop or other control structure.