casacore
|
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. More... | |
const String & | getMesg () const |
String | getStackTrace () const |
AipsError::Category | getCategory () const |
void | setMessage (const String &msg) const |
Append a message. More... | |
AipsError (const Char *str, Category c=GENERAL) | |
Creates an AipsError and initializes the error message from the parameter. More... | |
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. More... | |
Static Public Member Functions | |
static void | getLastInfo (String &message, String &stackTrace) |
Get or clear the stacktrace info. More... | |
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. More... | |
static void | throwIf (Bool condition, const String &message, const char *file, Int line, const char *func="") |
Throw if the condition is true. More... | |
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. More... | |
Protected Member Functions | |
void | addStackTrace () |
Add the stack trace to the message (if USE_STACKTRACE is set). More... | |
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;
Creates an AipsError and initializes the error message from the parameter.
Referenced by setMessage().
casacore::AipsError::AipsError | ( | const String & | msg, |
const String & | filename, | ||
uInt | lineNumber, | ||
Category | c = GENERAL |
||
) |
casacore::AipsError::~AipsError | ( | ) | ||
throw | ( | |||
) |
Destructor which does nothing.
Referenced by setMessage().
|
protected |
Add the stack trace to the message (if USE_STACKTRACE is set).
Referenced by setMessage().
|
static |
Referenced by setMessage().
|
inline |
Get or clear the stacktrace info.
Referenced by setMessage().
|
static |
Referenced by setMessage().
|
static |
Referenced by setMessage().
|
inline |
Definition at line 149 of file Error.h.
References getStackTrace(), and message.
Referenced by casacore::MSSelectionLogError::handleError().
|
static |
Repackage an exception.
Referenced by setMessage().
|
inline |
Append a message.
This is used by LogIO when an exception is logged. The message is const to be able to use it for a temporary exception.
Definition at line 157 of file Error.h.
References addStackTrace(), AipsError(), casacore::C::c, clearLastInfo(), getLastInfo(), getLastMessage(), getLastStackTrace(), message, repackageAipsError(), stackTrace, throwIf(), throwIfError(), and ~AipsError().
|
static |
Throw if the condition is true.
Referenced by setMessage().
|
static |
Throw if the system error code is not 0.
Referenced by setMessage().
|
inlinevirtual |
Simply returns the stored error message.
Definition at line 147 of file Error.h.
References casacore::String::c_str(), and message.
|
protected |
Definition at line 205 of file Error.h.
Referenced by getCategory().
|
protected |
Definition at line 204 of file Error.h.
Referenced by getMesg(), setMessage(), and what().
|
protected |
Definition at line 206 of file Error.h.
Referenced by setMessage().