% % error handling % /report_error { % errordict -- begin dbf (\n**** HyperNeWS error ****\n) writestring message null ne { message 12 { (\n) search { dbf exch writestring dbf exch writestring } {exit} ifelse } repeat pop } { dbf (command: %\n) [/command load] fprintf dbf (error: %\n) [/errorname load] fprintf } ifelse dbf (\n) writestring dbf flushfile end } def /handle_error { % -- $error /errorname get where { $error /errorname get cvx exec } {$error report_error} ifelse } def