OpenVDB 7.0.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::v7_0

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

## Macro Definition Documentation

## ◆ OPENVDB_EXCEPTION

#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) {} \
}

## ◆ OPENVDB_THROW

#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); \
}
OPENVDB_API
#define OPENVDB_API
Helper macros for defining library symbol visibility.
Definition: Platform.h:230