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.