Documentation for phasers
POST assembled from the following types:
Asserts a postcondition at every block entry. Runs after the LEAVE phase.
For phasers such as
POST that are run when exiting a scope normally, the return value (if any) from that scope is available as the current topic within the phaser.
POST block can be defined in one of two ways. Either the corresponding
POST is defined as a separate phaser, in which case
POST share no lexical scope. Alternately, any
PRE phaser may define its corresponding
POST as an embedded phaser block that closes over the lexical scope of the
POST fails or any kind of
LEAVE block throws an exception while the stack is unwinding, the unwinding continues and collects exceptions to be handled. When the unwinding is completed all new exceptions are thrown from that point.
The exceptions thrown by failing
POST phasers cannot be caught by a
CATCH in the same block, which implies that
POST phaser are not run if a
PRE phaser fails.