libdar::Egeneric Class Referenceabstract
API

this is the parent class of all exception classes. More...

`#include <erreurs.hpp>`

Inherited by libdar::Ebug, libdar::Ecompilation, libdar::Edata, libdar::Edeci, libdar::Efeature, libdar::Ehardware, libdar::Einfinint, libdar::Elibcall, libdar::Elimitint, libdar::Ememory, libdar::Enet_auth, libdar::Erange, libdar::Escript, libdar::Esystem, libdar::Ethread_cancel, and libdar::Euser_abort.

## Public Member Functions

| Egeneric (const std::string &source, const std::string &message)
| the constructor
| Egeneric (const Egeneric &ref)=default
| copy constructor
| Egeneric (Egeneric &&ref)=default
| move constructor
Egeneric & | operator= (const Egeneric &ref)=default
| assignment operator
Egeneric & | operator= (Egeneric &&ref) noexcept=default
| move operator
virtual | ~Egeneric ()=default
| the destructor
void | stack (const std::string &passage, const std::string &message="")
| add more detailed couple of information to the exception More...
void | stack (const std::string &&passage, const std::string &&message="")
const std::string & | get_message () const
| get the message explaing the nature of the exception More...
const std::string & | get_source () const
| get the call function which has thrown this exception More...
const std::string & | find_object (const std::string &location) const
| retrieve the objet (object) associated to a given "lieu" (location) from the stack More...
void | prepend_message (const std::string &context)
| prepend error message by the given string
std::string | dump_str () const
| return a string result of the exception information dump

## Protected Member Functions

virtual std::string | exceptionID () const =0

## Private Attributes

std::deque< niveau > | pile

## Static Private Attributes

static const std::string | empty_string

## Detailed Description

this is the parent class of all exception classes.

this is a pure virtual class that provide some simple mechanisme to carry the information about the cause of the exception, as well as some a complex mechanim which not used often in libdar that keep trace, for each exception throwing process, of the different calls by which the current exception has been exiting.

Definition at line 51 of file erreurs.hpp.

## Member Function Documentation

## find_object()

const std::string & libdar::Egeneric::find_object | ( | const std::string & | location | ) | const

retrieve the objet (object) associated to a given "lieu" (location) from the stack

Parameters

  [in] | location | key to look for the value of

Returns
  returns an empty string if key is not found in the stack

## get_message()

const std::string & libdar::Egeneric::get_message | ( |  | ) | const

inline

get the message explaing the nature of the exception

This is probably the only method you will use for all the the exception, as you will not have to create such objects and will only need to get the error message thanks to this method

Definition at line 82 of file erreurs.hpp.

## get_source()

const std::string & libdar::Egeneric::get_source | ( |  | ) | const

inline

get the call function which has thrown this exception

Definition at line 85 of file erreurs.hpp.

## stack() [1/2]

void libdar::Egeneric::stack | ( | const std::string && | passage,
|  | const std::string && | message = `""`
| ) |  |

inline

Definition at line 74 of file erreurs.hpp.

## stack() [2/2]

void libdar::Egeneric::stack | ( | const std::string & | passage,
|  | const std::string & | message = `""`
| ) |  |

inline

add more detailed couple of information to the exception

Definition at line 73 of file erreurs.hpp.

## Member Data Documentation

## empty_string

const std::string libdar::Egeneric::empty_string

staticprivate

Definition at line 118 of file erreurs.hpp.

## pile

std::deque<niveau> libdar::Egeneric::pile

private

Definition at line 116 of file erreurs.hpp.

The documentation for this class was generated from the following file:

- erreurs.hpp