#include <boost/exception/all.hpp>
#include <exception>
#include <string>
Go to the source code of this file.
Classes | |
struct | WireCell::Exception |
The base wire cell exception. More... | |
struct | WireCell::ValueError |
Thrown when a wrong value has been encountered. More... | |
struct | WireCell::IndexError |
Thrown when a wrong index is used. More... | |
struct | WireCell::KeyError |
Thrown when a wrong key or has been encountered. More... | |
class | WireCell::IOError |
Thrown when an error involving accessing input or output has occurred. More... | |
class | WireCell::RuntimeError |
Thrown when an error occurs during the data processing. More... | |
class | WireCell::AssertionError |
Thrown when an assertion fails. More... | |
Namespaces | |
WireCell | |
Macros | |
#define | THROW(e) BOOST_THROW_EXCEPTION(e) |
#define | errstr(e) boost::diagnostic_information(e) |
Typedefs | |
typedef boost::error_info< struct tag_errmsg, std::string > | WireCell::errmsg |
Definition at line 26 of file Exceptions.h.
Wire Cell code may throw exceptions.
The core Wire Cell code should only throw WireCell::Exception (or a subclass).
Boost exceptions are used to allow the programmer to provide dynamic information about an error and to collect file name and line number.
Exceptions should be thrown something like:
if (omg) { THROW(ValueError() << errmsg{"I didn't expect that"}); }
Definition at line 25 of file Exceptions.h.