EXCEPTION_INTERCEPTOR This is a linkable Macro module that intercepts exceptions that pass through specified stack frames. The arrays that describe the exceptions are saved in dynamically-allocated memory. The handling of the exceptions (or lack of handling) is not affected in any way. For a discussion of exceptions (also called conditions or signals), see the VAX/VMS System Services Reference Manual, chapter 10, and the VAX/VMS Run-Time Library Routines Reference Manual chapter 7. This module is useful mainly in Ada programs. Why? Exceptions are part of the Ada language. This is good and bad. Good: it's a standard, portable way of dealing with exceptions. Bad: Ada does not have nearly the power of VMS's Condition Handling Facility. In Ada, exceptions are simply static names, e.g., CONSTRAINT_ERROR. There is no way to associate additional information with an Ada exception, nor is there a way to generate or handle new or unexpected exceptions in any dynamic sense. The Exception Interceptor allows Ada programs to handle exceptions as they are intended to be handled under VMS. It gives Ada programs access to the signal and mechanism arrays of exceptions, whether they are Ada exceptions or general VMS exceptions. The source file EXCEPTION_INTERCEPTOR.MAR contains instructions for its use. Included in this submission is an example of using it, EXAMPLE.ADA. The example includes a sample Ada interface to the Exception Interceptor. I would like to hear any questions about, suggestions for, or problems with this submission. Submitted by: Greg Janée General Research Corporation 5383 Hollister Ave. Santa Barbara, CA 93111 805-964-7724