The sequence for an error is usually:
errordict
and executing this procedure.errordict
procedure calls signalerror
, passing it the error name.signalerror
takes snapshots of the stacks, saving the snapshots in $error
, and then calls stop
.stop
pops the exec stack until the nearest enclosing stopped context established by the stopped operator.stopped { errordict /handleerror get exec } if
which was called by the startup code to bracket the whole user program.handleerror
uses the information in $error
to print an error report.