OpenMS  2.4.0
Static Public Member Functions | Static Protected Member Functions | Private Member Functions | List of all members
GlobalExceptionHandler Class Reference

OpenMS global exception handler. More...

#include <OpenMS/CONCEPT/GlobalExceptionHandler.h>

Static Public Member Functions

static GlobalExceptionHandlergetInstance ()
 The accessor for the singleton. It also serves as a replacement for the constructor. More...
 
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 Protected Member Functions

static void terminate () throw ()
 The OPENMS replacement for terminate. More...
 
static void newHandler ()
 The OPENMS new handler. More...
 
Wrapper for static member.
Note
To avoid problems when accessing uninitialised static members we replaced them with static functions returning references to the members.
static std::string & file_ ()
 wrapper for static member file_ More...
 
static int & line_ ()
 wrapper for static member line_ More...
 
static std::string & function_ ()
 wrapper for static member function_ More...
 
static std::string & name_ ()
 wrapper for static member name_ More...
 
static std::string & what_ ()
 wrapper for static member what_ More...
 

Private Member Functions

 GlobalExceptionHandler (const GlobalExceptionHandler &)
 private version of c'tor to avoid initialization More...
 
 ~GlobalExceptionHandler ()
 
Constructors
 GlobalExceptionHandler () throw ()
 Default constructor. More...
 

Detailed Description

OpenMS global exception handler.

Constructor & Destructor Documentation

◆ GlobalExceptionHandler() [1/2]

GlobalExceptionHandler ( )
throw (
)
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).

◆ GlobalExceptionHandler() [2/2]

GlobalExceptionHandler ( const GlobalExceptionHandler )
inlineprivate

private version of c'tor to avoid initialization

◆ ~GlobalExceptionHandler()

~GlobalExceptionHandler ( )
inlineprivate

Member Function Documentation

◆ file_()

static std::string& file_ ( )
inlinestaticprotected

wrapper for static member file_

◆ function_()

static std::string& function_ ( )
inlinestaticprotected

wrapper for static member function_

◆ getInstance()

static GlobalExceptionHandler& getInstance ( )
inlinestatic

◆ line_()

static int& line_ ( )
inlinestaticprotected

wrapper for static member line_

◆ name_()

static std::string& name_ ( )
inlinestaticprotected

wrapper for static member name_

◆ newHandler()

static void newHandler ( )
staticprotected

The OPENMS new handler.

◆ set()

static void set ( const std::string &  file,
int  line,
const std::string &  function,
const std::string &  name,
const std::string &  message 
)
throw (
)
static

◆ setFile()

static void setFile ( const std::string &  file)
throw (
)
static

◆ setFunction()

static void setFunction ( const std::string &  function)
throw (
)
static

◆ setLine()

static void setLine ( int  line)
throw (
)
static

◆ setMessage()

static void setMessage ( const std::string &  message)
throw (
)
static

◆ setName()

static void setName ( const std::string &  name)
throw (
)
static

◆ terminate()

static void terminate ( )
throw (
)
staticprotected

The OPENMS replacement for terminate.

◆ what_()

static std::string& what_ ( )
inlinestaticprotected

wrapper for static member what_