Error exception class.
More...
#include <sbuild-error.h>
Public Types |
typedef T | error_type |
| The enum type providing the error codes for this type.
|
typedef std::map< error_type,
const char * > | map_type |
| Mapping between error code and error description.
|
Public Member Functions |
| error (std::string const &error) |
| The constructor.
|
| error (std::string const &error, std::string const &reason) |
| The constructor.
|
virtual | ~error () throw () |
| The destructor.
|
virtual | ~error_base () throw () |
| The destructor.
|
virtual const char * | why () const throw () |
| Get the reason for the error.
|
std::string const & | get_reason () const |
| Get the reason for the error.
|
void | set_reason (std::string const &reason) |
| Set the reason for the error.
|
Static Protected Member Functions |
template<typename A , typename B , typename C , typename D , typename E , typename F > |
static std::string | format_error (A const &context1, B const &context2, C const &context3, error_type error, D const &detail1, E const &detail2, F const &detail3) |
| Format an error message.
|
template<typename A , typename B , typename C , typename D , typename E , typename F > |
static std::string | format_error (A const &context1, B const &context2, C const &context3, std::runtime_error const &error, D const &detail1, E const &detail2, F const &detail3) |
| Format an error message.
|
template<typename A , typename B , typename C , typename R , typename D , typename E , typename F > |
static std::string | format_reason (A const &context1, B const &context2, C const &context3, R const &error, D const &detail1, E const &detail2, F const &detail3) |
| Format an reason string.
|
template<typename A > |
static void | add_detail (boost::format &fmt, A const &value) |
| Add detail to format string.
|
template<typename A > |
static void | add_reason (std::string &reason, A const &value) |
| Add reason to reason string.
|
Detailed Description
template<typename T>
class sbuild::error< T >
Error exception class.
Constructor & Destructor Documentation
The constructor.
- Parameters
-
The constructor.
- Parameters
-
error | the error message. |
reason | further information about the error |
Member Function Documentation
template<typename T >
template<typename A >
void sbuild::error< T >::add_detail |
( |
boost::format & |
fmt, |
|
|
A const & |
value |
|
) |
| |
|
inlinestaticprotected |
Add detail to format string.
- Parameters
-
fmt | the format string. |
value | the value to add. |
template<typename T >
template<typename A >
void sbuild::error< T >::add_reason |
( |
std::string & |
reason, |
|
|
A const & |
value |
|
) |
| |
|
inlinestaticprotected |
Add reason to reason string.
- Parameters
-
reason | the reason string. |
value | the value to add. |
template<typename T >
template<typename A , typename B , typename C , typename D , typename E , typename F >
std::string sbuild::error< T >::format_error |
( |
A const & |
context1, |
|
|
B const & |
context2, |
|
|
C const & |
context3, |
|
|
error_type |
error, |
|
|
D const & |
detail1, |
|
|
E const & |
detail2, |
|
|
F const & |
detail3 |
|
) |
| |
|
inlinestaticprotected |
Format an error message.
- Parameters
-
context1 | context of the error. |
context2 | additional context of the error. |
context3 | additional context of the error. |
error | the error code. |
detail1 | details of the error. |
detail2 | additional details of the error. |
detail3 | additional details of the error. |
- Returns
- a translated error message.
- Todo:
- Merge the logic shared between the two specialisations to prevent code duplication.
template<typename T >
template<typename A , typename B , typename C , typename D , typename E , typename F >
std::string sbuild::error< T >::format_error |
( |
A const & |
context1, |
|
|
B const & |
context2, |
|
|
C const & |
context3, |
|
|
std::runtime_error< T > const & |
error, |
|
|
D const & |
detail1, |
|
|
E const & |
detail2, |
|
|
F const & |
detail3 |
|
) |
| |
|
inlinestaticprotected |
Format an error message.
- Parameters
-
context1 | context of the error. |
context2 | additional context of the error. |
context3 | additional context of the error. |
error | the error code. |
detail1 | details of the error. |
detail2 | additional details of the error. |
detail3 | additional details of the error. |
- Returns
- a translated error message.
template<typename T >
template<typename A , typename B , typename C , typename R , typename D , typename E , typename F >
std::string sbuild::error< T >::format_reason |
( |
A const & |
context1, |
|
|
B const & |
context2, |
|
|
C const & |
context3, |
|
|
R const & |
error, |
|
|
D const & |
detail1, |
|
|
E const & |
detail2, |
|
|
F const & |
detail3 |
|
) |
| |
|
inlinestaticprotected |
Format an reason string.
- Parameters
-
context1 | context of the error. |
context2 | additional context of the error. |
context3 | additional context of the error. |
error | the error or error code. |
detail1 | details of the error. |
detail2 | additional details of the error. |
detail3 | additional details of the error. |
- Returns
- a translated error message.
Get a translated error string.
- Parameters
-
- Returns
- a translated error string.
References sbuild::gettext().
The documentation for this class was generated from the following files: