A non-local exit is a transfer of control from the current point
of evaluation to a different point (somewhat similar to the
goto statement in imperative languages).
Non-local exits can either be used explicitly (
throw) or implicitly (errors).
|• Catch and Throw:||Programmed non-local exits|
|• Function Exits:||Returning values from a function|
|• Cleanup Forms:||Forms which will always be evaluated|
|• Errors:||Signalling that an error occurred|