Disk ARchive  2.7.14
Full featured and portable backup and archiving tool
Public Member Functions | Protected Member Functions | Private Attributes | Static Private Attributes | List of all members
libdar::Egeneric Class Referenceabstract

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

#include <erreurs.hpp>

+ Inheritance diagram for libdar::Egeneric:
+ Collaboration diagram for libdar::Egeneric:

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
 
Egenericoperator= (const Egeneric &ref)=default
 assignment operator
 
Egenericoperator= (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
 
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
 
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]locationkey 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.


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