/* * File: error.h * ------------- * This file defines the ErrorException class and the * error function. */ #ifndef _error_h #define _error_h #include #include /* * Class: ErrorException * --------------------- * This exception is thrown by calls to the error * function. Typical code for catching errors looks like this: * *
 *    try {
 *       ... code in which an error might occur ...
 *    } catch (ErrorException & ex) {
 *       ... code to handle the error condition ...
 *    }
 *
* * If an ErrorException is thrown at any point in the * range of the try (including in functions called from * that code), control will jump immediately to the error handler. */ class ErrorException : public std::exception { public: ErrorException(std::string msg); virtual ~ErrorException() throw (); virtual std::string getMessage() const; virtual const char *what() const throw (); private: std::string msg; }; /* * Function: error * Usage: error(msg); * ------------------ * Signals an error condition in a program by throwing an * ErrorException with the specified message. */ void error(std::string msg); #include "private/main.h" #endif