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
PointerFault:
ERROR;
raised by the NILCK or NILCKL instructions
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.