<action labels or finished event>
── [ ──────────────────────────────────────────────────────────────────► ►─┬─<eof label>─────────────────────────────────────────────────────┬──► ├─────────────┬─ : <parity error label> ─┬────────────────────────┤ ├─<eof label>─┘ └─ : <data error label> ─┤ ├─────────────┬─ : : <data error label> ──────────────────────────┤ ├─<eof label>─┘ │ └─<event designator>──────────────────────────────────────────────┘ ►─ ] ──────────────────────────────────────────────────────────────────┤
<eof label>
──<designational expression>───────────────────────────────────────────┤
<parity error label>
──<designational expression>───────────────────────────────────────────┤
<data error label>
──<designational expression>───────────────────────────────────────────┤
The action labels or finished event element provides a means of transferring control from a READ statement, WRITE statement, or SPACE statement when exception conditions occur. A branch to the eof label takes place when an end-of-file condition occurs. A branch to the parity error label takes place if an irrecoverable parity error is encountered. A branch to the data error label takes place if a conflict exists between the format and the data. If the appropriate label is not provided when an exception condition occurs, the program is terminated.
The [<event designator>] syntax can be used only for direct I/O. The event is caused when the I/O operation is finished. For more information, refer to “Direct I/O” under I/O Statement.
Exception conditions occurring during a READ statement can also be handled without the use of the action labels or finished event syntax. The READ statement can be used as a Boolean function, and the value returned can be tested to determine if any exception conditions exist. For more information, refer to the discussion of the STATE attribute in the File Attributes Programming Reference Manual. When exception conditions are handled in this manner, the action labels or finished event syntax cannot be used. The user assumes all responsibility for handling exception conditions. Core-to-core I/O statements of the following forms cannot be used with the action labels or finished event syntax and cannot be used as Boolean functions.
READ(<array row>,<arithmetic expression>,<array row>) WRITE(<array row>,<arithmetic expression>,<array row>)
Attempting to do either results in a syntax error.

