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