libzypp  11.13.5
Exception.h File Reference
#include <iosfwd>
#include <string>
#include <list>
#include <stdexcept>
#include "zypp/base/Errno.h"
Include dependency graph for Exception.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  zypp::exception_detail::CodeLocation
 Keep FILE, FUNCTION and LINE. More...
class  zypp::Exception
 Base class for Exception. More...

Namespaces

namespace  zypp
 Easy-to use interface to the ZYPP dependency resolver.
namespace  zypp::exception_detail

Macros

#define ZYPP_EX_CODELOCATION   ::zypp::exception_detail::CodeLocation(( *__FILE__ == '/' ? strrchr( __FILE__, '/' ) + 1 : __FILE__ ),__FUNCTION__,__LINE__)
 Create CodeLocation object storing the current location.
#define ZYPP_THROW(EXCPT)   _ZYPP_THROW( EXCPT, ZYPP_EX_CODELOCATION )
 Drops a logline and throws the Exception.
#define ZYPP_CAUGHT(EXCPT)   _ZYPP_CAUGHT( EXCPT, ZYPP_EX_CODELOCATION )
 Drops a logline telling the Exception was caught (in order to handle it).
#define ZYPP_RETHROW(EXCPT)   _ZYPP_RETHROW( EXCPT, ZYPP_EX_CODELOCATION )
 Drops a logline and rethrows, updating the CodeLocation.
#define ZYPP_THROW_MSG(EXCPTTYPE, MSG)   ZYPP_THROW( EXCPTTYPE( MSG ) )
 Throw Exception built from a message string.
#define ZYPP_THROW_ERRNO(EXCPTTYPE)   ZYPP_THROW( EXCPTTYPE( ::zypp::Exception::strErrno(errno) ) )
 Throw Exception built from errno.
#define ZYPP_THROW_ERRNO1(EXCPTTYPE, ERRNO)   ZYPP_THROW( EXCPTTYPE( ::zypp::Exception::strErrno(ERRNO) ) )
 Throw Exception built from errno provided as argument.
#define ZYPP_THROW_ERRNO_MSG(EXCPTTYPE, MSG)   ZYPP_THROW( EXCPTTYPE( ::zypp::Exception::strErrno(errno,MSG) ) )
 Throw Exception built from errno and a message string.
#define ZYPP_THROW_ERRNO_MSG1(EXCPTTYPE, ERRNO, MSG)   ZYPP_THROW( EXCPTTYPE( ::zypp::Exception::strErrno(ERRNO,MSG) ) )
 Throw Exception built from errno provided as argument and a message string.

Functions

template<class _Excpt >
void zypp::_ZYPP_THROW (const _Excpt &excpt_r, const exception_detail::CodeLocation &where_r) __attribute__((noreturn))
 Helper for ZYPP_THROW macros.
template<class _Excpt >
void zypp::_ZYPP_CAUGHT (const _Excpt &excpt_r, const exception_detail::CodeLocation &where_r)
 Helper for ZYPP_THROW macros.
template<class _Excpt >
void zypp::_ZYPP_RETHROW (const _Excpt &excpt_r, const exception_detail::CodeLocation &where_r) __attribute__((noreturn))
 Helper for ZYPP_THROW macros.

Detailed Description

Definition in file Exception.h.


Macro Definition Documentation

#define ZYPP_EX_CODELOCATION   ::zypp::exception_detail::CodeLocation(( *__FILE__ == '/' ? strrchr( __FILE__, '/' ) + 1 : __FILE__ ),__FUNCTION__,__LINE__)

Create CodeLocation object storing the current location.

Definition at line 60 of file Exception.h.