RuntimeError.mesa
For Dragon
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
Carl Hauser, November 7, 1986 1:49:42 pm PST
DIRECTORY
;
RuntimeError: DEFINITIONS
= BEGIN
Signals and errors generated by the Mesa runtime
BoundsFault: ERROR;
raised by bounds checking
DivideCheck: SAFE SIGNAL;
raised by overflow on a divide
LinkageFault: ERROR;
PointerFault: ERROR;
raised by NIL pointer checking
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: 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;
the classic divide by zero signal
Related procedures
UCSProc: TYPE = PROC [msg: WORD, signal: SIGNAL ANY RETURNS ANY, frame: POINTER];
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.