#include <Exception.h>
Inheritance diagram for Tagcoll::SystemException:
Public Member Functions | |
SystemException (int code, const std::string &context) throw () | |
virtual const char * | type () const throw () |
Get a string tag identifying the exception type. | |
virtual int | code () const throw () |
Get the system error code associated to the exception. | |
virtual std::string | system_desc () const throw () |
Get the description of the error code. | |
virtual std::string | desc () const throw () |
Get a string describing what happened that threw the exception. | |
Protected Attributes | |
int | _code |
This is the base class for exceptions that depend on system events, like exceptions on file or network I/O, on database access and so on. SystemExceptions introduces the keeping of an error code with an associated string description, and by defaults provides the textual description for Unix errno error codes. The exception context should be phrased like "doing X".
Example:
const char* fname = "foo.bar"; if ((fd = open(fname, O_RDONLY)) == -1) // Should not throw SystemException, but a more specialized derived // class like FileException throw SystemException(errno, stringf::fmt("opening %s read-only", fname));
|
|
|
Get the system error code associated to the exception.
|
|
Get a string describing what happened that threw the exception.
Reimplemented from Tagcoll::ContextException. |
|
Get the description of the error code.
|
|
Get a string tag identifying the exception type.
Reimplemented from Tagcoll::ContextException. Reimplemented in Tagcoll::FileException. |
|
|