#include <BALL/COMMON/exception.h>
Public Member Functions | |
Constructors | |
GlobalExceptionHandler () | |
Static Public Member Functions | |
Accessors | |
static void | setName (const String &name) |
Assign the name of the exception. This should agree with the class name. | |
static void | setMessage (const String &message) |
Set the error message. | |
static void | setLine (int line) |
Set the line number the exception was thrown. Should be set to __LINE__ in most cases. | |
static void | setFile (const String &file) |
The source file name where the exception was thrown. | |
static void | set (const String &file, int line, const String &name, const String &message) |
Set all exception attributes. | |
Static Protected Member Functions | |
static void | terminate () |
The BALL replacement for terminate. | |
static void | newHandler () throw (Exception::OutOfMemory) |
The BALL new handler. | |
Static Protected Attributes | |
static std::string | file_ |
static int | line_ |
static std::string | name_ |
static std::string | message_ |
Class handling uncaught exception globally.
BALL::Exception::GlobalExceptionHandler::GlobalExceptionHandler | ( | ) |
Default constructor. This constructor installs the BALL specific handlers for terminate
, unexpected
, and new_handler
. terminate
or unexpected
are called to abort a program if an exception was not caught or a function exits via an exception that is not allowed by its exception specification. Both functions are replaced by a function of GlobalExceptionHandler that tries to determine the last exception thrown. This mechanism only works, if all exceptions are defrived from GeneralException .
The default new_handler
is replaced by newHandler and throws an exception of type OutOfMemory instead of bad_alloc
(the default behaviour defined in the ANSI C++ standard).
static void BALL::Exception::GlobalExceptionHandler::newHandler | ( | ) | throw (Exception::OutOfMemory) [static, protected] |
The BALL new handler.
static void BALL::Exception::GlobalExceptionHandler::set | ( | const String & | file, | |
int | line, | |||
const String & | name, | |||
const String & | message | |||
) | [static] |
Set all exception attributes.
static void BALL::Exception::GlobalExceptionHandler::setFile | ( | const String & | file | ) | [static] |
The source file name where the exception was thrown.
static void BALL::Exception::GlobalExceptionHandler::setLine | ( | int | line | ) | [static] |
Set the line number the exception was thrown. Should be set to __LINE__ in most cases.
static void BALL::Exception::GlobalExceptionHandler::setMessage | ( | const String & | message | ) | [static] |
Set the error message.
static void BALL::Exception::GlobalExceptionHandler::setName | ( | const String & | name | ) | [static] |
Assign the name of the exception. This should agree with the class name.
static void BALL::Exception::GlobalExceptionHandler::terminate | ( | ) | [static, protected] |
The BALL replacement for terminate.
std::string BALL::Exception::GlobalExceptionHandler::file_ [static, protected] |
int BALL::Exception::GlobalExceptionHandler::line_ [static, protected] |
std::string BALL::Exception::GlobalExceptionHandler::message_ [static, protected] |
std::string BALL::Exception::GlobalExceptionHandler::name_ [static, protected] |