dune-common
2.2.0
|
Classes | |
class | Dune::Exception |
Base class for Dune-Exceptions. More... | |
struct | Dune::ExceptionHook |
Base class to add a hook to the Dune::Exception. More... | |
class | Dune::IOError |
Default exception class for I/O errors. More... | |
class | Dune::MathError |
Default exception class for mathematical errors. More... | |
class | Dune::RangeError |
Default exception class for range errors. More... | |
class | Dune::NotImplemented |
Default exception for dummy implementations. More... | |
class | Dune::SystemError |
Default exception class for OS errors. More... | |
class | Dune::OutOfMemoryError |
Default exception if memory allocation fails. More... | |
class | Dune::InvalidStateException |
Default exception if a function was called while the object is not in a valid state for that function. More... | |
class | Dune::ParallelError |
Default exception if an error in the parallel communication of the programm occured. More... | |
Files | |
file | exceptions.hh |
A few common exception classes. | |
Defines | |
#define | DUNE_THROW(E, m) |
Functions | |
Dune::Exception::Exception () | |
void | Dune::Exception::message (const std::string &message) |
store string in internal message buffer | |
const std::string & | Dune::Exception::what () const |
output internal message buffer | |
static void | Dune::Exception::registerHook (ExceptionHook *hook) |
add a functor which is called before a Dune::Exception is emitted (see Dune::ExceptionHook) | |
static void | Dune::Exception::clearHook () |
remove all hooks | |
virtual | Dune::ExceptionHook::~ExceptionHook () |
virtual void | Dune::ExceptionHook::operator() ()=0 |
std::ostream & | Dune::operator<< (std::ostream &stream, const Exception &e) |
The Dune-exceptions are designed to allow a simple derivation of subclasses and to accept a text written in the '<<' syntax.
Example of usage:
#include <dune/common/exceptions.hh> ... class FileNotFoundError : public Dune::IOError {}; ... void fileopen (std::string name) { std::ifstream file; file.open(name.c_str()); if (file == 0) DUNE_THROW(FileNotFoundError, "File " << name << " not found!"); ... file.close(); } ... int main () { try { ... } catch (Dune::IOError &e) { std::cerr << "I/O error: " << e << std::endl; return 1; } catch (Dune::Exception &e) { std::cerr << "Generic Dune error: " << e << std::endl; return 2; } }
#define DUNE_THROW | ( | E, | |
m | |||
) |
do { E th__ex; std::ostringstream th__out; \ th__out << THROWSPEC(E) << m; th__ex.message(th__out.str()); throw th__ex; \ } while (0)
Macro to throw an exception
#include <dune/common/exceptions.hh>
E | exception class derived from Dune::Exception |
m | reason for this exception in ostream-notation |
Example:
if (filehandle == 0) DUNE_THROW(FileError, "Could not open " << filename << " for reading!");
DUNE_THROW automatically adds information about the exception thrown to the text.
Referenced by Dune::DebugStream< thislevel, dlevel, alevel, activator >::attach(), Dune::BitSetVector< block_size, Allocator >::BitSetVector(), Dune::InterfaceBuilder::buildInterface(), Dune::DebugStream< thislevel, dlevel, alevel, activator >::detach(), Dune::FMatrixHelp::eigenValues(), Dune::FMatrixHelp::eigenValuesLapackCall(), Dune::DenseMatrix< DynamicMatrix< K > >::exists(), Dune::MPIGuard::finalize(), Dune::GeometryType::GeometryType(), Dune::ParameterTree::get(), Dune::RemoteIndexListModifier< T, A, mode >::insert(), Dune::istl_assign_to_fmatrix(), Dune::DenseMatrix< DynamicMatrix< K > >::mmhv(), Dune::DenseMatrix< DynamicMatrix< K > >::mmtv(), Dune::DenseMatrix< DynamicMatrix< K > >::mmv(), Dune::DenseMatrix< DynamicMatrix< K > >::mtv(), Dune::DenseMatrix< DynamicMatrix< K > >::mv(), Dune::bigunsignedint< k >::operator/(), Dune::operator<<(), Dune::ParameterTree::operator[](), Dune::ParameterTree::Parser< T >::parse(), Dune::ParameterTree::parseRange(), Dune::FiniteStack< T, n >::pop(), Dune::DebugStream< thislevel, dlevel, alevel, activator >::pop(), Dune::ParameterTreeParser::readINITree(), Dune::relativePath(), Dune::RemoteIndexListModifier< T, A, mode >::remove(), Dune::RemoteIndexListModifier< T, A, mode >::repairLocalIndexPointers(), Dune::ParameterTree::sub(), Dune::DebugStream< thislevel, dlevel, alevel, activator >::tie(), Dune::DenseMatrix< DynamicMatrix< K > >::umhv(), Dune::DenseMatrix< DynamicMatrix< K > >::umtv(), Dune::DenseMatrix< DynamicMatrix< K > >::umv(), Dune::DebugStream< thislevel, dlevel, alevel, activator >::untie(), Dune::DenseMatrix< DynamicMatrix< K > >::usmhv(), Dune::DenseMatrix< DynamicMatrix< K > >::usmtv(), Dune::DenseMatrix< DynamicMatrix< K > >::usmv(), Dune::DebugStream< thislevel, dlevel, alevel, activator >::~DebugStream(), Dune::fmatrix_assigner< T, n, m >::~fmatrix_assigner(), and Dune::fvector_assigner< T, s >::~fvector_assigner().
void Dune::Exception::clearHook | ( | ) | [inline, static] |
remove all hooks
Dune::Exception::Exception | ( | ) | [inline] |
void Dune::Exception::message | ( | const std::string & | message | ) | [inline] |
store string in internal message buffer
virtual void Dune::ExceptionHook::operator() | ( | ) | [pure virtual] |
std::ostream& Dune::operator<< | ( | std::ostream & | stream, |
const Exception & | e | ||
) | [inline] |
References Dune::Exception::what().
void Dune::Exception::registerHook | ( | ExceptionHook * | hook | ) | [inline, static] |
add a functor which is called before a Dune::Exception is emitted (see Dune::ExceptionHook)
const std::string & Dune::Exception::what | ( | ) | const [inline] |
output internal message buffer
Referenced by Dune::operator<<().
virtual Dune::ExceptionHook::~ExceptionHook | ( | ) | [inline, virtual] |