Class to handle errors and exceptions in a simple, consistent stream-based manner. More...
Public Member Functions | |
error (const string &title) | |
Construct from title string. More... | |
error (const dictionary &errDict) | |
Construct from dictionary. More... | |
error (const error &err) | |
Copy construct. More... | |
virtual | ~error () noexcept |
Destructor. More... | |
string | message () const |
The accumulated error message. More... | |
void | clear () const |
Clear any messages. More... | |
const string & | functionName () const |
const string & | sourceFileName () const |
label | sourceFileLineNumber () const |
bool | throwing () const |
Return the current exception throwing (on or off) More... | |
bool | throwExceptions (bool doThrow) |
Activate/deactivate exception throwing. More... | |
bool | throwExceptions () |
Activate exception throwing. More... | |
bool | dontThrowExceptions () |
Deactivate exception throwing. More... | |
OSstream & | operator() (const string &functionName) |
Define basic print message. More... | |
OSstream & | operator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber=0) |
Define basic print message. More... | |
OSstream & | operator() (const string &functionName, const char *sourceFileName, const int sourceFileLineNumber=0) |
Define basic print message. More... | |
OSstream & | operator() () |
Explicit convert to OSstream for << operations. More... | |
operator OSstream & () | |
Convert to OSstream. More... | |
operator dictionary () const | |
Create and return a dictionary representation of the error. More... | |
void | exit (const int errNo=1) |
Exit : can be called for any error to exit program. More... | |
void | abort () |
Abort : used to stop code for fatal errors. More... | |
void | write (Ostream &os, const bool includeTitle=true) const |
Print error message. More... | |
Static Public Member Functions | |
static void | warnAboutAge (const char *what, const int version) |
Emit warning on stderr about something being old. More... | |
static void | safePrintStack (std::ostream &os) |
static void | printStack (Ostream &os) |
Helper function to print a stack. More... | |
static bool | useAbort () |
True if FOAM_ABORT is on. More... | |
Protected Attributes | |
string | functionName_ |
string | sourceFileName_ |
label | sourceFileLineNumber_ |
bool | throwing_ |
std::unique_ptr< OStringStream > | messageStreamPtr_ |
Additional Inherited Members | |
Message type, or error severity flags. More... |
Class to handle errors and exceptions in a simple, consistent stream-based manner.
The error class is globally instantiated with a title string. Errors, messages and other data are piped to the messageStream class in the standard manner. Manipulators are supplied for exit and abort that may terminate the program or throw an exception depending on whether the exception handling has been switched on (off by default).
|
explicit |
|
static |
Emit warning on stderr about something being old.
what | description for the warning |
version | is the old version (YYMM) for determining the age in months compared to the current OpenFOAM version as conveyed by the foamVersion::api value. |
Definition at line 41 of file error.C.
References Foam::foamVersion::api, Foam::endl(), and Foam::foamVersion::version.
Referenced by Foam::expandLeadingTilde(), and timeControl::read().
Foam::string message | ( | ) | const |
The accumulated error message.
Definition at line 277 of file error.C.
Referenced by snappyLayerDriver::addLayers(), and motionSmootherAlgo::checkMesh().
void clear | ( | ) | const |
Clear any messages.
Definition at line 283 of file error.C.
Referenced by motionSmootherAlgo::checkMesh().
|
inline |
Definition at line 128 of file error.H.
References error::functionName_.
|
inline |
Definition at line 133 of file error.H.
References error::sourceFileName_.
|
inline |
Definition at line 138 of file error.H.
References error::sourceFileLineNumber_.
|
inline |
Return the current exception throwing (on or off)
Definition at line 144 of file error.H.
References error::throwing_.
Activate/deactivate exception throwing.
Definition at line 151 of file error.H.
Referenced by functionObjectList::end(), functionObjectList::execute(), if(), IOobjectList::IOobjectList(), and functionObjectList::read().
|
inline |
|
inline |
Foam::OSstream & operator() | ( | const string & | functionName | ) |
Foam::OSstream & operator() | ( | const char * | functionName, |
const char * | sourceFileName, | ||
const int | sourceFileLineNumber = 0 |
||
) |
Foam::OSstream & operator() | ( | const string & | functionName, |
const char * | sourceFileName, | ||
const int | sourceFileLineNumber = 0 |
||
) |
|
inline |
Explicit convert to OSstream for << operations.
Definition at line 198 of file error.H.
Referenced by IOerror::operator()().
operator dictionary | ( | ) | const |
Create and return a dictionary representation of the error.
|
static |
Helper function to print a stack, used when OpenFOAM IO not yet initialised.
Definition at line 32 of file dummyPrintStack.C.
|
static |
Helper function to print a stack.
Definition at line 36 of file dummyPrintStack.C.
Referenced by UPstream::allToAll(), Foam::exitNow(), messageStream::masterStream(), and Foam::reduce().
|
static |
True if FOAM_ABORT is on.
Definition at line 74 of file error.C.
References Switch::find(), and Foam::getEnv().
Referenced by Foam::exitNow().
void exit | ( | const int | errNo = 1 | ) |
Exit : can be called for any error to exit program.
Redirects to abort() when FOAM_ABORT is on.
Definition at line 289 of file error.C.
Referenced by Foam::exit(), and if().
void abort | ( | ) |
Abort : used to stop code for fatal errors.
Prints stack before exiting.
Definition at line 295 of file error.C.
Referenced by Foam::abort().
Print error message.
Definition at line 301 of file error.C.
References Foam::foamVersion::api, IOstream::bad(), messageStream::level, Foam::nl, Foam::foamVersion::patch, and Foam::foamVersion::patched().
Referenced by functionObjectList::end(), functionObjectList::execute(), Foam::operator<<(), argList::parse(), and functionObjectList::read().
|
protected |
Definition at line 85 of file error.H.
Referenced by error::functionName().
|
protected |
Definition at line 86 of file error.H.
Referenced by error::sourceFileName().
|
protected |
Definition at line 87 of file error.H.
Referenced by error::sourceFileLineNumber().
|
protected |
Definition at line 88 of file error.H.
Referenced by error::throwing().
|
protected |