Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

Exception::GlobalExceptionHandler Class Reference

Class handling uncaught exception globally. More...

#include <exception.h>

List of all members.

Public Member Functions

Constructors
 GlobalExceptionHandler () throw ()
 Default constructor.

Static Public Member Functions

Accessors
void setName (const String &name) throw ()
 Assign the name of the exception. This should agree with the class name.
void setMessage (const String &message) throw ()
 Set the error message.
void setLine (int line) throw ()
 Set the line number the exception was thrown. Should be set to __LINE__ in most cases.
void setFile (const String &file) throw ()
 The source file name where the exception was thrown.
void set (const String &file, int line, const String &name, const String &message) throw ()
 Set all exception attributes.

Static Protected Member Functions

void terminate () throw ()
 The BALL replacement for terminate.
void newHandler () throw (Exception::OutOfMemory)
 The BALL new handler.

Static Protected Attributes

std::string file_
int line_
std::string name_
std::string message_


Detailed Description

Class handling uncaught exception globally.


Constructor & Destructor Documentation

Exception::GlobalExceptionHandler::GlobalExceptionHandler  )  throw ()
 

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).