| OpenMS 2.5.0

Static Public Member Functions | Static Protected Member Functions | Private Member Functions | List of all members
GlobalExceptionHandler Class Reference
Concept » Exceptions

OpenMS global exception handler. More...

`#include <OpenMS/CONCEPT/GlobalExceptionHandler.h>`

## Static Public Member Functions

static GlobalExceptionHandler & | getInstance ()
| 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 & |  | ) |

inline private

private version of c'tor to avoid initialization

## ◆ ~GlobalExceptionHandler()

~GlobalExceptionHandler | ( |  | ) |

inline private

## Member Function Documentation

## ◆ file_()

static std::string& file_ | ( |  | ) |

inline static protected

wrapper for static member file_

## ◆ function_()

static std::string& function_ | ( |  | ) |

inline static protected

wrapper for static member function_

## ◆ getInstance()

static GlobalExceptionHandler& getInstance | ( |  | ) |

inline static

The accessor for the singleton. It also serves as a replacement for the constructor.

Referenced by FeatureFinderDefs::NoSuccessor::NoSuccessor(), RequiredParameterNotGiven::RequiredParameterNotGiven(), UnregisteredParameter::UnregisteredParameter(), and WrongParameterType::WrongParameterType().

## ◆ line_()

static int& line_ | ( |  | ) |

inline static protected

wrapper for static member line_

## ◆ name_()

static std::string& name_ | ( |  | ) |

inline static protected

wrapper for static member name_

## ◆ newHandler()

static void newHandler | ( |  | ) |

static protected

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

Referenced by FeatureFinderDefs::NoSuccessor::NoSuccessor(), RequiredParameterNotGiven::RequiredParameterNotGiven(), UnregisteredParameter::UnregisteredParameter(), and WrongParameterType::WrongParameterType().

## ◆ setName()

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

static

## ◆ terminate()

static void terminate | ( |  | ) |
throw | ( |
| ) |  |

static protected

The OPENMS replacement for terminate.

## ◆ what_()

static std::string& what_ | ( |  | ) |

inline static protected

wrapper for static member what_