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] |
1.6.1