Exception.hh File Reference

Exception public header. More...

#include <exception>
#include <stdexcept>
#include <string>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/is_convertible.hpp>
#include <senf/config.hh>
#include "Exception.cci"
#include "Exception.cti"
Include dependency graph for Exception.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  senf::ExceptionMixin
 Generic extensible exception mixin. More...
 
class  senf::Exception
 Extensible exception base-class. More...
 
class  senf::WrapException< BaseException >
 Wrapper for standard non-senf exceptions. More...
 
struct  senf::InvalidArgumentException
 
class  senf::SystemException
 Exception handling standard UNIX errors (errno) More...
 

Namespaces

 senf
 

Macros

#define SENF_WRAP_EXC(Ex)
 Wrap a non-senf exception. More...
 
#define SENF_WRAP_EXC_MSG(Ex, Msg)
 
#define _SENF_EXC_DEBUG_ARGS
 
#define _SENF_EXC_DEBUG_ARGS_ND
 
#define _SENF_EXC_DEBUG_ARGS_P
 
#define SENF_EXC_DEBUGINFO
 
#define SENF_THROW_SYSTEM_EXCEPTION(desc)   throw senf::SystemException(desc SENF_EXC_DEBUGINFO)
 

Functions

template<class BaseException >
WrapException< BaseException > senf::make_WrapException (BaseException const &base)
 
template<class Exc , class Arg >
boost::enable_if< boost::is_convertible< Exc *, ExceptionMixin * >, Exc &>::type senf::operator<< (Exc const &exc, Arg const &arg)
 Extend exception description. More...
 

Detailed Description

Exception public header.

Definition in file Exception.hh.

Macro Definition Documentation

◆ _SENF_EXC_DEBUG_ARGS

#define _SENF_EXC_DEBUG_ARGS

Definition at line 249 of file Exception.hh.

◆ _SENF_EXC_DEBUG_ARGS_ND

#define _SENF_EXC_DEBUG_ARGS_ND

Definition at line 250 of file Exception.hh.

◆ _SENF_EXC_DEBUG_ARGS_P

#define _SENF_EXC_DEBUG_ARGS_P

Definition at line 251 of file Exception.hh.

◆ SENF_EXC_DEBUGINFO

#define SENF_EXC_DEBUGINFO

Definition at line 318 of file Exception.hh.

◆ SENF_THROW_SYSTEM_EXCEPTION

#define SENF_THROW_SYSTEM_EXCEPTION (   desc)    throw senf::SystemException(desc SENF_EXC_DEBUGINFO)

Definition at line 321 of file Exception.hh.

◆ SENF_WRAP_EXC_MSG

#define SENF_WRAP_EXC_MSG (   Ex,
  Msg 
)
Value:
catch (Ex const & base) { \
if (dynamic_cast<senf::ExceptionMixin const *>(&base)) \
throw; \
else \
throw senf::WrapException<Ex>(base) << " " << Msg; \
}
Wrapper for standard non-senf exceptions.
Definition: Exception.hh:187

Definition at line 225 of file Exception.hh.