![]() |
OpenMS
|
OpenMS global exception handler. More...
#include <OpenMS/CONCEPT/GlobalExceptionHandler.h>
Static Protected Member Functions | |
Wrapper for static member. | |
| |
| static std::string & | file_ () |
| wrapper for static member file_ | |
| static int & | line_ () |
| wrapper for static member line_ | |
| static std::string & | function_ () |
| wrapper for static member function_ | |
| static std::string & | name_ () |
| wrapper for static member name_ | |
| static std::string & | what_ () |
| wrapper for static member what_ | |
Constructors | |
| GlobalExceptionHandler () throw () | |
| Default constructor. | |
| GlobalExceptionHandler (const GlobalExceptionHandler &) | |
| private version of c'tor to avoid initialization | |
| ~GlobalExceptionHandler () | |
| static GlobalExceptionHandler & | getInstance () |
| The accessor for the singleton. It also serves as a replacement for the constructor. | |
Accessors | |
| static void | setName (const std::string &name) throw () |
| static void | setMessage (const std::string &message) throw () |
| static void | setLine (int line) throw () |
| static void | setFile (const std::string &file) throw () |
| static void | setFunction (const std::string &function) throw () |
| static void | set (const std::string &file, int line, const std::string &function, const std::string &name, const std::string &message) throw () |
| static void | terminate () throw () |
| The OPENMS replacement for terminate. | |
| static void | newHandler () |
| The OPENMS new handler. | |
OpenMS global exception handler.
The last exception constructed is recorded per thread (the fields below are thread-local), so exceptions thrown at the same time on several threads do not write the same state. terminate() reports the entry of the thread it runs on, i.e. the one whose exception was not caught.
|
private | |||||||||||||
Default constructor.
This constructor installs the OPENMS 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 derived from Base.
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).
|
inlineprivate |
private version of c'tor to avoid initialization
|
inlineprivate |
|
staticprotected |
wrapper for static member file_
|
staticprotected |
wrapper for static member function_
|
static |
The accessor for the singleton. It also serves as a replacement for the constructor.
|
staticprotected |
wrapper for static member line_
|
staticprotected |
wrapper for static member name_
|
staticprotected |
The OPENMS new handler.
|
static | ||||||||||||||||||||||||||||||||
|
static | ||||||||||||||
|
static | ||||||||||||||
|
static | ||||||||||||||
|
static | ||||||||||||||
|
static | ||||||||||||||
|
staticprotected | |||||||||||||
The OPENMS replacement for terminate.
|
staticprotected |
wrapper for static member what_