OpenVDB  6.2.0
Classes | Namespaces | Macros
Exceptions.h File Reference
#include <openvdb/version.h>
#include <exception>
#include <sstream>
#include <string>

Go to the source code of this file.

Classes

class  Exception
 
class  ArithmeticError
 
class  IndexError
 
class  IoError
 
class  KeyError
 
class  LookupError
 
class  NotImplementedError
 
class  ReferenceError
 
class  RuntimeError
 
class  TypeError
 
class  ValueError
 
class  IllegalValueException
 

Namespaces

 openvdb
 
 openvdb::v6_2
 

Macros

#define OPENVDB_EXCEPTION(_classname)
 
#define OPENVDB_THROW(exception, message)
 

Macro Definition Documentation

#define OPENVDB_EXCEPTION (   _classname)
Value:
class OPENVDB_API _classname: public Exception \
{ \
public: \
_classname() noexcept: Exception( #_classname ) {} \
explicit _classname(const std::string& msg) noexcept: Exception( #_classname , &msg) {} \
}
#define OPENVDB_API
Helper macros for defining library symbol visibility.
Definition: Platform.h:288
#define OPENVDB_THROW (   exception,
  message 
)
Value:
{ \
std::string _openvdb_throw_msg; \
try { \
std::ostringstream _openvdb_throw_os; \
_openvdb_throw_os << message; \
_openvdb_throw_msg = _openvdb_throw_os.str(); \
} catch (...) {} \
throw exception(_openvdb_throw_msg); \
}