9.2.2 Ambiguous conditions

correct block read was not possible:

Typically results in a throw of some OS-derived value (between -512 and -2048). If the blocks file was just not long enough, blanks are supplied for the missing portion.

I/O exception in block transfer:

Typically results in a throw of some OS-derived value (between -512 and -2048).

invalid block number:

-35 throw (Invalid block number)

a program directly alters the contents of BLK:

The input stream is switched to that other block, at the same position. If the storing to BLK happens when interpreting non-block input, the system will get quite confused when the block ends.

no current block buffer for UPDATE:

UPDATE has no effect.