CMS API Exception that is the base for all exceptions thrown from CMS classes.
More...
#include <src/main/cms/CMSException.h>
Public Member Functions |
| CMSException () |
| CMSException (const CMSException &ex) |
| CMSException (const std::string &message) |
| CMSException (const std::string &message, const std::exception *cause) |
| CMSException (const std::string &message, const std::exception *cause, const std::vector< std::pair< std::string, int > > &stackTrace) |
virtual | ~CMSException () throw () |
virtual std::string | getMessage () const |
| Gets the cause of the error.
|
virtual const std::exception * | getCause () const |
| Gets the exception that caused this one to be thrown, this allows for chaining of exceptions in the case of a method that throws only a particular exception but wishes to allow for the real causal exception to be passed only in case the caller knows about that type of exception and wishes to respond to it.
|
virtual std::vector< std::pair
< std::string, int > > | getStackTrace () const |
| Provides the stack trace for every point where this exception was caught, marked, and rethrown.
|
virtual void | setMark (const char *file, const int lineNumber) |
| Adds a file/line number to the stack trace.
|
virtual void | printStackTrace () const |
| Prints the stack trace to std::err.
|
virtual void | printStackTrace (std::ostream &stream) const |
| Prints the stack trace to the given output stream.
|
virtual std::string | getStackTraceString () const |
| Gets the stack trace as one contiguous string.
|
virtual const char * | what () const throw () |
| Overloads the std::exception what() function to return the cause of the exception.
|
Detailed Description
CMS API Exception that is the base for all exceptions thrown from CMS classes.
This class represents an error that has occurred in CMS, providers can wrap provider specific exceptions in this class by setting the cause to an instance of a provider specific exception provided it can be cast to an std::exception.
Since the contained cause exception is of type std::exception and the C++ exception class has no clone or copy method defined the contained exception can only be owned by one instance of an CMSException. To that end the class hands off the exception to each successive copy so care must be taken when handling CMSException instances.
- Since:
- 1.0
Constructor & Destructor Documentation
cms::CMSException::CMSException |
( |
| ) |
|
cms::CMSException::CMSException |
( |
const std::string & |
message | ) |
|
cms::CMSException::CMSException |
( |
const std::string & |
message, |
|
|
const std::exception * |
cause |
|
) |
| |
cms::CMSException::CMSException |
( |
const std::string & |
message, |
|
|
const std::exception * |
cause, |
|
|
const std::vector< std::pair< std::string, int > > & |
stackTrace |
|
) |
| |
virtual cms::CMSException::~CMSException |
( |
| ) |
throw () [virtual] |
Member Function Documentation
virtual const std::exception* cms::CMSException::getCause |
( |
| ) |
const [virtual] |
Gets the exception that caused this one to be thrown, this allows for chaining of exceptions in the case of a method that throws only a particular exception but wishes to allow for the real causal exception to be passed only in case the caller knows about that type of exception and wishes to respond to it.
- Returns:
- a const pointer reference to the causal exception, if there was no cause associated with this exception then NULL is returned.
virtual std::string cms::CMSException::getMessage |
( |
| ) |
const [virtual] |
Gets the cause of the error.
- Returns:
- string errors message
virtual std::vector< std::pair< std::string, int> > cms::CMSException::getStackTrace |
( |
| ) |
const [virtual] |
Provides the stack trace for every point where this exception was caught, marked, and rethrown.
- Returns:
- vector containing stack trace strings
virtual std::string cms::CMSException::getStackTraceString |
( |
| ) |
const [virtual] |
Gets the stack trace as one contiguous string.
- Returns:
- string with formatted stack trace data
virtual void cms::CMSException::printStackTrace |
( |
| ) |
const [virtual] |
Prints the stack trace to std::err.
virtual void cms::CMSException::printStackTrace |
( |
std::ostream & |
stream | ) |
const [virtual] |
Prints the stack trace to the given output stream.
- Parameters:
-
stream | the target output stream. |
virtual void cms::CMSException::setMark |
( |
const char * |
file, |
|
|
const int |
lineNumber |
|
) |
| [virtual] |
Adds a file/line number to the stack trace.
- Parameters:
-
file | The name of the file calling this method (use __FILE__). |
lineNumber | The line number in the calling file (use __LINE__). |
virtual const char* cms::CMSException::what |
( |
| ) |
const throw () [virtual] |
Overloads the std::exception what() function to return the cause of the exception.
- Returns:
- const char pointer to error message
The documentation for this class was generated from the following file: