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 noexcept |
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 () noexcept | |
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.
casacore::AipsError::AipsError | ( | const String & | msg, |
const String & | filename, | ||
uInt | lineNumber, | ||
Category | c = GENERAL |
||
) |
|
noexcept |
Destructor which does nothing.
|
protected |
Add the stack trace to the message (if USE_STACKTRACE is set).
|
static |
|
inline |
Get or clear the stacktrace info.
|
static |
|
static |
|
inline |
Definition at line 148 of file Error.h.
References message.
Referenced by casacore::MSSelectionLogError::handleError().
String casacore::AipsError::getStackTrace | ( | ) | const |
|
static |
Repackage an exception.
|
inline |
|
static |
Throw if the condition is true.
|
static |
Throw if the system error code is not 0.
|
inlinevirtualnoexcept |
Simply returns the stored error message.
Definition at line 146 of file Error.h.
References casacore::String::c_str(), and message.
|
protected |
Definition at line 204 of file Error.h.
Referenced by getCategory().
|
protected |
Definition at line 203 of file Error.h.
Referenced by getMesg(), setMessage(), and what().