<> <> <> <> <> <> <> DIRECTORY ; RuntimeError: DEFINITIONS = BEGIN <<>> <> BoundsFault: ERROR; <> DivideCheck: SAFE SIGNAL; <> LinkageFault: ERROR; PointerFault: ERROR; <> ResumeError: SIGNAL; <> SendMsgSignal: SIGNAL RETURNS [message: WORD, signal: SIGNAL ANY RETURNS ANY]; <> StartFault: SIGNAL [dest: PROGRAM]; StackError: ERROR; <<... is typically disastrous, caused by bad or clobbered code>> UnboundProcedure: SIGNAL [dest: PROC ANY RETURNS ANY] RETURNS [PROC ANY RETURNS ANY]; <<... raised when transfer is attempted to an unbound procedure>> UNCAUGHT: SAFE ERROR [signal: SIGNAL ANY RETURNS ANY, parameters: WORD]; <<... raised when the UncaughtSignalHandler is about to be called. Using UNCAUGHT is much better than handling ANY! UNCAUGHT should be provided by the compiler, eventually.>> ZeroDivisor: SAFE SIGNAL; <> <<>> <> UCSProc: TYPE = PROC [msg: WORD, signal: SIGNAL ANY RETURNS ANY, frame: POINTER]; RegisterUncaughtSignalHandler: PROC [proc: UCSProc] RETURNS [old: UCSProc]; <> <<>> InformationalSignal: SAFE PROC [signal: SIGNAL]; <> <<>> <<>> END.