Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
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 () throw (OutOfMemory)
 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 ( )
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 ( const GlobalExceptionHandler )
inlineprivate

private version of c'tor to avoid initialization

~GlobalExceptionHandler ( )
inlineprivate

Member Function Documentation

static std::string& file_ ( )
inlinestaticprotected

wrapper for static member file_

static std::string& function_ ( )
inlinestaticprotected

wrapper for static member function_

static GlobalExceptionHandler& getInstance ( )
inlinestatic
static int& line_ ( )
inlinestaticprotected

wrapper for static member line_

static std::string& name_ ( )
inlinestaticprotected

wrapper for static member name_

static void newHandler ( )
throw (OutOfMemory
)
staticprotected

The OPENMS new handler.

static void set ( const std::string &  file,
int  line,
const std::string &  function,
const std::string &  name,
const std::string &  message 
)
throw (
)
static
static void setFile ( const std::string &  file)
throw (
)
static
static void setFunction ( const std::string &  function)
throw (
)
static
static void setLine ( int  line)
throw (
)
static
static void setMessage ( const std::string &  message)
throw (
)
static
static void setName ( const std::string &  name)
throw (
)
static
static void terminate ( )
throw (
)
staticprotected

The OPENMS replacement for terminate.

static std::string& what_ ( )
inlinestaticprotected

wrapper for static member what_


OpenMS / TOPP release 2.0.0 Documentation generated on Thu Aug 20 2015 01:44:42 using doxygen 1.8.9.1