A routine can be aborted at any point by moving the program pointer out of the
routine. In some cases, when the program is executing certain sensitive routines,
it is unsuitable to abort. Using a undo handler it is possible to protect such sensitive
routines against an unexpected program reset. The undo handler is executed
automatically if the routine is aborted. This code should typically perform clean-up
actions, for example closing a file.