home *** CD-ROM | disk | FTP | other *** search
- { (C) Copyright 1986-1992 MetaWare Incorporated; Santa Cruz, CA 95060. }
-
- pragma C_include('Implement.pf');
-
- package Exceptions;
- pragma Routine_aliasing_convention(Implement.RTE_ALIASING);
- { Exception handling package. }
- var Current_exception: Cardinal;
- type E_arg = procedure;
- #if 0
- A call to Exception sets up Handler as the exception handler for
- block Block. If an exception occurs during the processing of
- Block or any routine it calls, and no handler handles it, then
- Exception terminates the processing of Block and calls Handler.
- Exceptions are raised by calling procedure Raise with the number
- of the exception. The current exception is in Current_exception.
- Handler may choose to not handle the exception by calling Reraise,
- which is identical to Raise(Current_exception).
- #endif
- procedure Exception(Block, Handler: E_arg); External;
- -- Raise exception E. If there is no handler available, then
- -- raise produces a call-chain dump and terminates processing.
- -- Otherwise, the handler is called.
- procedure Raise(E:Cardinal); External;
- -- Equivalent to Raise(Current_exception).
- procedure Reraise; External;
- end;
-