Base exception class, supports parametrized messages and XML serialization. More...
#include <xmltooling/exceptions.h>
Public Types | |
typedef XMLToolingException * | ExceptionFactory () |
A factory function that returns an empty exception object of a given type. | |
Public Member Functions | |
XMLToolingException (const char *msg=0, const params &p=params()) | |
Constructs an exception using a message and positional parameters. | |
XMLToolingException (const char *msg, const namedparams &p) | |
Constructs an exception using a message and named parameters. | |
XMLToolingException (const std::string &msg, const params &p=params()) | |
Constructs an exception using a message and positional parameters. | |
XMLToolingException (const std::string &msg, const namedparams &p) | |
Constructs an exception using a message and named parameters. | |
const char * | getMessage () const |
Returns the error message, after processing any parameter references. | |
const char * | what () const throw () |
Returns the error message, after processing any parameter references. | |
void | setMessage (const char *msg) |
Sets the error message. | |
void | setMessage (const std::string &msg) |
Sets the error message. | |
void | addProperties (const params &p) |
Attach a set of positional parameters to the exception. | |
void | addProperties (const namedparams &p) |
Attach a set of named parameters to the exception. | |
void | addProperty (const char *value) |
Attach a single positional parameter at the next available position. | |
void | addProperty (const char *name, const char *value) |
Attach a single named parameter. | |
const char * | getProperty (unsigned int index) const |
Returns the parameter property with the designated position (based from one). | |
const char * | getProperty (const char *name) const |
Returns the parameter property with the designated name. | |
virtual void | raise () const |
Raises an exception using itself. | |
virtual const char * | getClassName () const |
Returns a unique name for the exception class. | |
std::string | toString () const |
Returns a string containing a serialized representation of the exception. | |
std::string | toQueryString () const |
Returns a set of query string name/value pairs, URL-encoded, representing the exception's type, message, and parameters. | |
Static Public Member Functions | |
static XMLToolingException * | getInstance (const char *exceptionClass) |
Builds an empty exception of the given type. | |
static XMLToolingException * | fromStream (std::istream &in) |
Builds an exception from a serialized input stream. | |
static XMLToolingException * | fromString (const char *s) |
Builds an exception from a serialized input buffer. | |
static void | registerFactory (const char *exceptionClass, ExceptionFactory *factory) |
Registers a factory to create exceptions of a given class name. | |
static void | deregisterFactory (const char *exceptionClass) |
Unregisters the factory for a given class name. | |
static void | deregisterFactories () |
Unregisters all factories. |
Base exception class, supports parametrized messages and XML serialization.
Parameters are prefixed with a dollar sign ($) and can be positional ($1) or named ($info).
A factory function that returns an empty exception object of a given type.
xmltooling::XMLToolingException::XMLToolingException | ( | const char * | msg = 0 , |
|
const params & | p = params() | |||
) |
Constructs an exception using a message and positional parameters.
msg | error message | |
p | an ordered set of positional parameter strings |
xmltooling::XMLToolingException::XMLToolingException | ( | const char * | msg, | |
const namedparams & | p | |||
) |
Constructs an exception using a message and named parameters.
msg | error message | |
p | a set of named parameter strings |
xmltooling::XMLToolingException::XMLToolingException | ( | const std::string & | msg, | |
const params & | p = params() | |||
) |
Constructs an exception using a message and positional parameters.
msg | error message | |
p | an ordered set of positional parameter strings |
xmltooling::XMLToolingException::XMLToolingException | ( | const std::string & | msg, | |
const namedparams & | p | |||
) |
Constructs an exception using a message and named parameters.
msg | error message | |
p | a set of named parameter strings |
void xmltooling::XMLToolingException::addProperties | ( | const namedparams & | p | ) |
Attach a set of named parameters to the exception.
p | a set of named parameter strings |
void xmltooling::XMLToolingException::addProperties | ( | const params & | p | ) |
Attach a set of positional parameters to the exception.
p | an ordered set of named parameter strings |
void xmltooling::XMLToolingException::addProperty | ( | const char * | name, | |
const char * | value | |||
) | [inline] |
Attach a single named parameter.
name | the parameter name | |
value | the parameter value |
void xmltooling::XMLToolingException::addProperty | ( | const char * | value | ) | [inline] |
Attach a single positional parameter at the next available position.
value | the parameter value |
static void xmltooling::XMLToolingException::deregisterFactory | ( | const char * | exceptionClass | ) | [inline, static] |
Unregisters the factory for a given class name.
exceptionClass | name of exception type |
static XMLToolingException* xmltooling::XMLToolingException::fromStream | ( | std::istream & | in | ) | [static] |
Builds an exception from a serialized input stream.
in | input stream |
static XMLToolingException* xmltooling::XMLToolingException::fromString | ( | const char * | s | ) | [static] |
Builds an exception from a serialized input buffer.
s | input buffer |
virtual const char* xmltooling::XMLToolingException::getClassName | ( | ) | const [inline, virtual] |
Returns a unique name for the exception class.
Reimplemented in xmltooling::XMLParserException, xmltooling::XMLObjectException, xmltooling::MarshallingException, xmltooling::UnmarshallingException, xmltooling::UnknownElementException, xmltooling::UnknownAttributeException, xmltooling::UnknownExtensionException, xmltooling::ValidationException, xmltooling::IOException, xmltooling::XMLSecurityException, xmlsignature::SignatureException, and xmltooling::ThreadingException.
static XMLToolingException* xmltooling::XMLToolingException::getInstance | ( | const char * | exceptionClass | ) | [static] |
Builds an empty exception of the given type.
exceptionClass | the name of the exception type to build |
const char* xmltooling::XMLToolingException::getMessage | ( | ) | const |
Returns the error message, after processing any parameter references.
const char* xmltooling::XMLToolingException::getProperty | ( | const char * | name | ) | const |
Returns the parameter property with the designated name.
name | named parameter to access |
const char* xmltooling::XMLToolingException::getProperty | ( | unsigned int | index | ) | const |
Returns the parameter property with the designated position (based from one).
index | position to access |
virtual void xmltooling::XMLToolingException::raise | ( | ) | const [inline, virtual] |
Raises an exception using itself.
Used to raise an exception of a derived type.
Reimplemented in xmltooling::XMLParserException, xmltooling::XMLObjectException, xmltooling::MarshallingException, xmltooling::UnmarshallingException, xmltooling::UnknownElementException, xmltooling::UnknownAttributeException, xmltooling::UnknownExtensionException, xmltooling::ValidationException, xmltooling::IOException, xmltooling::XMLSecurityException, xmlsignature::SignatureException, and xmltooling::ThreadingException.
static void xmltooling::XMLToolingException::registerFactory | ( | const char * | exceptionClass, | |
ExceptionFactory * | factory | |||
) | [inline, static] |
Registers a factory to create exceptions of a given class name.
exceptionClass | name of exception type | |
factory | factory function to build exceptions with |
void xmltooling::XMLToolingException::setMessage | ( | const std::string & | msg | ) | [inline] |
Sets the error message.
msg | the error message |
void xmltooling::XMLToolingException::setMessage | ( | const char * | msg | ) |
Sets the error message.
msg | the error message |
std::string xmltooling::XMLToolingException::toQueryString | ( | ) | const |
Returns a set of query string name/value pairs, URL-encoded, representing the exception's type, message, and parameters.
std::string xmltooling::XMLToolingException::toString | ( | ) | const |
Returns a string containing a serialized representation of the exception.
const char* xmltooling::XMLToolingException::what | ( | ) | const throw () [inline] |
Returns the error message, after processing any parameter references.