runtime/src/common/RTException.i3


Copyright (C) 1994, Digital Equipment Corp.

UNSAFE INTERFACE RTException;
This interface provides access to the runtime machinery that raises exceptions. The values of the types defined in this interface are generated by the compiler. Changing any of the types below is dangerous.

TYPE
  ExceptionName = UNTRACED REF UNTRACED REF (*ARRAY OF*) CHAR;
  ExceptionList = UNTRACED REF (*ARRAY OF*) ExceptionName;
  ExceptionArg  = ADDRESS; (* actually, it's an untyped 4-byte field *)

PROCEDURE Raise (ex: ExceptionName;  arg: ExceptionArg) RAISES ANY;
raise the exception ex passing arg as the associated value

PROCEDURE ResumeRaise (ex: ExceptionName;  arg: ExceptionArg) RAISES ANY;
after a TRY-FINALLY handler has been executed, restart the processing of the execption. It is known that there is a handler for this exception

PROCEDURE DumpStack ();
If possible, produce a diagnostic stack dump on stderr

END RTException.

RTException's implementation is in:


procedure RTException.Raise is in:


procedure RTException.ResumeRaise is in:


procedure RTException.DumpStack is in: