RuntimeError.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Levin on May 25, 1983 5:21 pm
Russ Atkinson (RRA) February 19, 1985 1:01:44 pm PST
Doug Wyatt, February 26, 1985 3:11:29 pm PST
DIRECTORY
PrincOps USING [ControlLink, FrameHandle];
RuntimeError: DEFINITIONS
= BEGIN OPEN PrincOps;
Signals and errors generated by the Mesa runtime
BoundsFault: ERROR;
raised by the BNDCK instruction
ControlFault: SIGNAL [source: ControlLink] RETURNS [ControlLink];
raised when a bad control link is discovered
DivideCheck: SAFE SIGNAL;
raised by overflow on a divide
LinkageFault: ERROR;
PointerFault: ERROR;
raised by the NILCK or NILCKL instructions
PortFault: ERROR;
ResumeError: SIGNAL;
raised when an ERROR is resumed
SendMsgSignal: SIGNAL RETURNS [message: WORD, signal: SIGNAL ANY RETURNS ANY];
used to request the current signal and message inside of an ANY catch phrase
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;
the classic divide by zero signal
Related procedures
UCSProc: TYPE = PROC [msg: WORD, signal: SIGNAL ANY RETURNS ANY, frame: FrameHandle];
RegisterUncaughtSignalHandler: PROC [proc: UCSProc] RETURNS [old: UCSProc];
Registration mechanism for the global uncaught signal handling function.
InformationalSignal: SAFE PROC [signal: SIGNAL];
This is a temporary kludge that provides a minimal informational signal mechanism.
END.