The ON-unit is a single statement or codice_179-block introduced by an codice_180. Executing the ON statement enables the condition specified, e.g., codice_181. When the exception for this condition occurs and the condition is enabled, the ON-unit for the condition is executed. ON-units are inherited down the call chain. When a block, procedure or ON-unit is activated, the ON-units established by the invoking activation are inherited by the new activation. They may be over-ridden by another codice_180 and can be reestablished by the codice_183. The exception can be simulated using the codice_184 – e.g. to help debug the exception handlers. The dynamic inheritance principle for ON-units allows a routine to handle the exceptions occurring within the subroutines it uses.