Every exception is the descendent of Exception that, in turn, extends the std::exception class of the STL.
Further descendents of Exception add functionality and automatisms to error message generation:
Example exception raising:
void MyFile::open(const char* fname) throw (FileException) { if ((fd = open(fname, O_RDONLY)) == -1) throw FileException(errno, stringf::fmt("opening %s read-only", fname)); }
Example exception catching:
try { myfile.open("/tmp/foo"); } catch (FileException& e) { fprintf(stderr, "%.*s: aborting.\n", PFSTR(e.toString())); exit(1); }
#include <wibble/test.h>
#include <exception>
#include <typeinfo>
#include <string>
#include <sstream>
#include <iterator>
#include <vector>
Go to the source code of this file.
Namespaces | |
| namespace | wibble |
| namespace | wibble::exception |
Classes | |
| class | wibble::exception::InstallUnexpected |
| Install an unexpected handler for the duration of its scope. More... | |
| struct | wibble::exception::AddContext |
| class | wibble::exception::Context |
| Store context information for an exception. More... | |
| class | wibble::exception::Generic |
| Base class for all exceptions. More... | |
| class | wibble::exception::Interrupted |
| Exception thrown when some long event is interrupted by an external event (like a system call being interrupted by a signal). More... | |
| class | wibble::exception::WaitInterrupted |
| Exception thrown when some system wait is interrupted by a signal. More... | |
| class | wibble::exception::Consistency |
| Exception thrown when some consistency check fails. More... | |
| struct | wibble::exception::BadCast |
| struct | wibble::exception::BadCastExt< From, To > |
| class | wibble::exception::OutOfRange |
| Exception thrown when some value is out of range. More... | |
| class | wibble::exception::ValOutOfRange< C > |
| Exception thrown when index checking fails. More... | |
| class | wibble::exception::System |
| Base class for system exceptions. More... | |
| class | wibble::exception::File |
| Base class for exceptions for file I/O. More... | |
Functions | |
| void | wibble::exception::DefaultUnexpected () |
| Basic unexpected handler. | |
1.5.6