Base class for all Casacore library errors. More...
#include <Error.h>
Public Types | |
enum | Category { BOUNDARY, INITIALIZATION, INVALID_ARGUMENT, CONFORMANCE, ENVIRONMENT, SYSTEM, PERMISSION, GENERAL } |
Public Member Functions | |
virtual const char * | what () const throw () |
Simply returns the stored error message. | |
const String & | getMesg () const |
String | getStackTrace () const |
AipsError::Category | getCategory () const |
void | setMessage (const String &msg) const |
Append a message. | |
AipsError (const Char *str, Category c=GENERAL) | |
Creates an AipsError and initializes the error message from the parameter. | |
AipsError (const String &str, Category c=GENERAL) | |
AipsError (const String &msg, const String &filename, uInt lineNumber, Category c=GENERAL) | |
AipsError (Category c=GENERAL) | |
~AipsError () throw () | |
Destructor which does nothing. | |
Static Public Member Functions | |
static void | getLastInfo (String &message, String &stackTrace) |
Get or clear the stacktrace info. | |
static String | getLastMessage () |
static String | getLastStackTrace () |
static void | clearLastInfo () |
static AipsError | repackageAipsError (AipsError &error, const String &message, const char *file, Int line, const char *func) |
Repackage an exception. | |
static void | throwIf (Bool condition, const String &message, const char *file, Int line, const char *func="") |
Throw if the condition is true. | |
static void | throwIfError (Int errorCode, const String &prefix, const char *file, Int line, const char *func="") |
Throw if the system error code is not 0. | |
Protected Member Functions | |
void | addStackTrace () |
Add the stack trace to the message (if USE_STACKTRACE is set). | |
Protected Attributes | |
String | message |
Category | category |
String | stackTrace |
Base class for all Casacore library errors.
Public interface
This is the base class for all of the Casacore error classes. Because all of the errors have a common base class, any error can be caught with a single catch statement.
This class has a string which allows error messages to be propagated.
Tip: The string member must be handled very carefully because string is also derived from cleanup, thus the message;makePermanent()
call in the implementation of the constructors; This prevents the String from being cleaned up in the middle of an exception;
throw(AipsError("SOME STRING"));
Definition at line 135 of file Error.h.
Creates an AipsError and initializes the error message from the parameter.
casacore::AipsError::AipsError | ( | const String & | msg, | |
const String & | filename, | |||
uInt | lineNumber, | |||
Category | c = GENERAL | |||
) |
casacore::AipsError::AipsError | ( | Category | c = GENERAL |
) |
casacore::AipsError::~AipsError | ( | ) | throw () |
Destructor which does nothing.
void casacore::AipsError::addStackTrace | ( | ) | [protected] |
Add the stack trace to the message (if USE_STACKTRACE is set).
static void casacore::AipsError::clearLastInfo | ( | ) | [static] |
AipsError::Category casacore::AipsError::getCategory | ( | ) | const [inline] |
Get or clear the stacktrace info.
static String casacore::AipsError::getLastMessage | ( | ) | [static] |
static String casacore::AipsError::getLastStackTrace | ( | ) | [static] |
const String& casacore::AipsError::getMesg | ( | ) | const [inline] |
Definition at line 149 of file Error.h.
References message.
Referenced by casacore::MSSelectionLogError::handleError().
String casacore::AipsError::getStackTrace | ( | ) | const |
static AipsError casacore::AipsError::repackageAipsError | ( | AipsError & | error, | |
const String & | message, | |||
const char * | file, | |||
Int | line, | |||
const char * | func | |||
) | [static] |
Repackage an exception.
void casacore::AipsError::setMessage | ( | const String & | msg | ) | const [inline] |
static void casacore::AipsError::throwIf | ( | Bool | condition, | |
const String & | message, | |||
const char * | file, | |||
Int | line, | |||
const char * | func = "" | |||
) | [static] |
Throw if the condition is true.
static void casacore::AipsError::throwIfError | ( | Int | errorCode, | |
const String & | prefix, | |||
const char * | file, | |||
Int | line, | |||
const char * | func = "" | |||
) | [static] |
Throw if the system error code is not 0.
virtual const char* casacore::AipsError::what | ( | ) | const throw () [inline, virtual] |
Simply returns the stored error message.
Definition at line 147 of file Error.h.
References casacore::String::c_str(), and message.
Category casacore::AipsError::category [protected] |
Definition at line 205 of file Error.h.
Referenced by getCategory().
String casacore::AipsError::message [protected] |
Definition at line 204 of file Error.h.
Referenced by getMesg(), setMessage(), and what().
String casacore::AipsError::stackTrace [protected] |