<> <> <> <> <> DIRECTORY PrincOps USING [ControlLink, FrameHandle]; RuntimeError: DEFINITIONS = BEGIN OPEN PrincOps; <<>> <> BoundsFault: ERROR; <> ControlFault: SIGNAL [source: ControlLink] RETURNS [ControlLink]; <> DivideCheck: SAFE SIGNAL; <> LinkageFault: ERROR; PointerFault: ERROR; <> PortFault: 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: ControlLink] RETURNS [ControlLink]; <<... 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: FrameHandle]; RegisterUncaughtSignalHandler: PROC [proc: UCSProc] RETURNS [old: UCSProc]; <> <<>> InformationalSignal: SAFE PROC [signal: SIGNAL]; <> <<>> <<>> END.