casacore
Loading...
Searching...
No Matches
casacore::AipsError Class Reference

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.
const StringgetMesg () 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 () noexcept
 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

Detailed Description

Base class for all Casacore library errors

Intended use:

Public interface

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

  • ExcpError

Synopsis

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;

Example

throw(AipsError("SOME STRING"));
AipsError(const Char *str, Category c=GENERAL)
Creates an AipsError and initializes the error message from the parameter.

Definition at line 132 of file Error.h.

Member Enumeration Documentation

◆ Category

Enumerator
BOUNDARY 
INITIALIZATION 
INVALID_ARGUMENT 
CONFORMANCE 
ENVIRONMENT 
SYSTEM 
PERMISSION 
GENERAL 

Definition at line 136 of file Error.h.

Constructor & Destructor Documentation

◆ AipsError() [1/4]

◆ AipsError() [2/4]

casacore::AipsError::AipsError ( const String & str,
Category c = GENERAL )

References GENERAL.

◆ AipsError() [3/4]

casacore::AipsError::AipsError ( const String & msg,
const String & filename,
uInt lineNumber,
Category c = GENERAL )

References GENERAL.

◆ AipsError() [4/4]

casacore::AipsError::AipsError ( Category c = GENERAL)

References GENERAL.

◆ ~AipsError()

casacore::AipsError::~AipsError ( )
noexcept

Destructor which does nothing.

Member Function Documentation

◆ addStackTrace()

void casacore::AipsError::addStackTrace ( )
protected

Add the stack trace to the message (if USE_STACKTRACE is set).

References addStackTrace().

Referenced by addStackTrace().

◆ clearLastInfo()

void casacore::AipsError::clearLastInfo ( )
static

References clearLastInfo().

Referenced by clearLastInfo().

◆ getCategory()

AipsError::Category casacore::AipsError::getCategory ( ) const
inline

Definition at line 149 of file Error.h.

References category.

◆ getLastInfo()

void casacore::AipsError::getLastInfo ( String & message,
String & stackTrace )
static

Get or clear the stacktrace info.

References getLastInfo(), message, and stackTrace.

Referenced by getLastInfo().

◆ getLastMessage()

String casacore::AipsError::getLastMessage ( )
static

References getLastMessage().

Referenced by getLastMessage().

◆ getLastStackTrace()

String casacore::AipsError::getLastStackTrace ( )
static

References getLastStackTrace().

Referenced by getLastStackTrace().

◆ getMesg()

const String & casacore::AipsError::getMesg ( ) const
inline

Definition at line 146 of file Error.h.

References message.

Referenced by casacore::MSSelectionLogError::handleError().

◆ getStackTrace()

String casacore::AipsError::getStackTrace ( ) const

◆ repackageAipsError()

AipsError casacore::AipsError::repackageAipsError ( AipsError & error,
const String & message,
const char * file,
Int line,
const char * func )
static

Repackage an exception.

References AipsError(), message, and repackageAipsError().

Referenced by repackageAipsError().

◆ setMessage()

void casacore::AipsError::setMessage ( const String & msg) const
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 154 of file Error.h.

References AipsError(), and message.

◆ throwIf()

void casacore::AipsError::throwIf ( Bool condition,
const String & message,
const char * file,
Int line,
const char * func = "" )
static

Throw if the condition is true.

References message, and throwIf().

Referenced by throwIf().

◆ throwIfError()

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.

References throwIfError().

Referenced by throwIfError().

◆ what()

virtual const char * casacore::AipsError::what ( ) const
inlinevirtualnoexcept

Simply returns the stored error message.

Definition at line 144 of file Error.h.

References message.

Member Data Documentation

◆ category

Category casacore::AipsError::category
protected

Definition at line 202 of file Error.h.

Referenced by getCategory().

◆ message

String casacore::AipsError::message
protected

Definition at line 201 of file Error.h.

Referenced by casacore::MSSelectionError::addMessage(), casacore::MSSelectionError::changeMessage(), casacore::DataManError::DataManError(), casacore::DataManInternalError::DataManInternalError(), casacore::DataManInvOper::DataManInvOper(), dyscostman::DyscoStManError::DyscoStManError(), casacore::FunctionFactoryError::FunctionFactoryError(), getLastInfo(), getMesg(), casacore::HDF5Error::HDF5Error(), casacore::JsonError::JsonError(), casacore::MSSelectionAntennaError::MSSelectionAntennaError(), casacore::MSSelectionAntennaParseError::MSSelectionAntennaParseError(), casacore::MSSelectionArrayError::MSSelectionArrayError(), casacore::MSSelectionArrayParseError::MSSelectionArrayParseError(), casacore::MSSelectionArrayWarning::MSSelectionArrayWarning(), casacore::MSSelectionError::MSSelectionError(), casacore::MSSelectionFeedError::MSSelectionFeedError(), casacore::MSSelectionFeedParseError::MSSelectionFeedParseError(), casacore::MSSelectionFieldError::MSSelectionFieldError(), casacore::MSSelectionFieldParseError::MSSelectionFieldParseError(), casacore::MSSelectionFieldWarning::MSSelectionFieldWarning(), casacore::MSSelectionNullExpr::MSSelectionNullExpr(), casacore::MSSelectionNullSelection::MSSelectionNullSelection(), casacore::MSSelectionNullTEN::MSSelectionNullTEN(), casacore::MSSelectionObservationError::MSSelectionObservationError(), casacore::MSSelectionObservationParseError::MSSelectionObservationParseError(), casacore::MSSelectionObservationWarning::MSSelectionObservationWarning(), casacore::MSSelectionPolnError::MSSelectionPolnError(), casacore::MSSelectionPolnParseError::MSSelectionPolnParseError(), casacore::MSSelectionPolnWarning::MSSelectionPolnWarning(), casacore::MSSelectionScanError::MSSelectionScanError(), casacore::MSSelectionScanParseError::MSSelectionScanParseError(), casacore::MSSelectionScanWarning::MSSelectionScanWarning(), casacore::MSSelectionSpwError::MSSelectionSpwError(), casacore::MSSelectionSpwParseError::MSSelectionSpwParseError(), casacore::MSSelectionSpwWarning::MSSelectionSpwWarning(), casacore::MSSelectionStateError::MSSelectionStateError(), casacore::MSSelectionStateParseError::MSSelectionStateParseError(), casacore::MSSelectionStateWarning::MSSelectionStateWarning(), casacore::MSSelectionTimeError::MSSelectionTimeError(), casacore::MSSelectionTimeParseError::MSSelectionTimeParseError(), casacore::MSSelectionUvDistError::MSSelectionUvDistError(), casacore::MSSelectionUvDistParseError::MSSelectionUvDistParseError(), repackageAipsError(), casacore::MSSelectionError::reset(), setMessage(), casacore::TableArrayConformanceError::TableArrayConformanceError(), casacore::TableArrayConformanceError::TableArrayConformanceError(), casacore::TableConformanceError::TableConformanceError(), casacore::TableDuplFile::TableDuplFile(), casacore::TableError::TableError(), casacore::TableInternalError::TableInternalError(), casacore::TableInvColumnDesc::TableInvColumnDesc(), casacore::TableInvExpr::TableInvExpr(), casacore::TableInvExpr::TableInvExpr(), casacore::TableInvHyperDesc::TableInvHyperDesc(), casacore::TableInvOper::TableInvOper(), casacore::TableInvOpt::TableInvOpt(), casacore::TableInvSort::TableInvSort(), throwIf(), casacore::TSMError::TSMError(), and what().

◆ stackTrace

String casacore::AipsError::stackTrace
protected

Definition at line 203 of file Error.h.

Referenced by getLastInfo().


The documentation for this class was generated from the following file: