Augmented Exceptions

Augmented exceptions are exceptions containing features from both the ErrorLogger package and the Exceptions package. These hybrid exceptions also carry with them an extra object of some user-specified type. Augmented exceptions come in two flavors:

This site gives a basic tutorial on how to use augmented exceptions. The ErrorLogger Package and the Exceptions Package have plenty of other features that can be used with augmented exceptions. An example program is in the "test" directory of the ZMtools module under the name logThrow.

Features of Augmented Exceptions

Creating the Framework

Declaring an Augmented Exception Class
Setting up the Logger
Creating A Custom Handler
Custom Modifications

Physicist's Code

User Interface
Augmented Exception Log Outputs
Default Settings
Further Options


The ZMexAugmented and ZMexDerivedAug classes use the logging features of the ErrorLogger package while implementing the same convenient hierarchy that comes with the Exceptions package. Augmented exceptions are implemented with templates so the extra object can be almost any type. To utilize this extra object a unique handler must be constructed by the frameworker to alter or examine the extra object. When these exceptions are thrown they are logged through the ErrorLogger package.

Comments, questions about getting started, feature needs, and bug/annoyance reports may be sent to zoom-support@fnal.gov or zoom@fnal.gov.

ZMtools main page - ZOOM Home Page- Fermilab at Work- Fermilab Home

Last modified: May 16, 2000