4#ifndef OPENVDB_EXCEPTIONS_HAS_BEEN_INCLUDED 
    5#define OPENVDB_EXCEPTIONS_HAS_BEEN_INCLUDED 
   26    const char* 
what() const noexcept
 override 
   28        try { 
return mMessage.c_str(); } 
catch (...) {}
 
 
   34    explicit Exception(
const char* eType, 
const std::string* 
const msg = 
nullptr) noexcept
 
   37            if (eType) mMessage = eType;
 
   38            if (msg) mMessage += 
": " + (*msg);
 
 
 
   47#define OPENVDB_EXCEPTION(_classname) \ 
   48class OPENVDB_API _classname: public Exception \ 
   51    _classname() noexcept: Exception( #_classname ) {} \ 
   52    explicit _classname(const std::string& msg) noexcept: Exception( #_classname , &msg) {} \ 
 
   67#undef OPENVDB_EXCEPTION 
 
 
   74#define OPENVDB_THROW(exception, message) \ 
   76    std::string _openvdb_throw_msg; \ 
   78        std::ostringstream _openvdb_throw_os; \ 
   79        _openvdb_throw_os << message; \ 
   80        _openvdb_throw_msg = _openvdb_throw_os.str(); \ 
   82    throw exception(_openvdb_throw_msg); \ 
 
ArithmeticError() noexcept
Definition Exceptions.h:56
Exception() noexcept
Definition Exceptions.h:33
Exception(const char *eType, const std::string *const msg=nullptr) noexcept
Definition Exceptions.h:34
Exception(Exception &&)=default
Exception & operator=(const Exception &)=default
const char * what() const noexcept override
Definition Exceptions.h:26
Exception & operator=(Exception &&)=default
Exception(const Exception &)=default
~Exception() override=default
IndexError() noexcept
Definition Exceptions.h:57
IoError() noexcept
Definition Exceptions.h:58
KeyError() noexcept
Definition Exceptions.h:59
LookupError() noexcept
Definition Exceptions.h:60
NotImplementedError() noexcept
Definition Exceptions.h:61
ReferenceError() noexcept
Definition Exceptions.h:62
RuntimeError() noexcept
Definition Exceptions.h:63
TypeError() noexcept
Definition Exceptions.h:64
ValueError() noexcept
Definition Exceptions.h:65
Definition Exceptions.h:13
#define OPENVDB_EXCEPTION(_classname)
Definition Exceptions.h:47
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218