error Class Reference

Class to handle errors and exceptions in a simple, consistent stream-based manner. More...

Inheritance diagram for error:
Collaboration diagram for error:

Public Member Functions

 error (const string &title)
 Construct from title string. More...
 
string message () const
 
const stringfunctionName () const
 
const stringsourceFileName () const
 
label sourceFileLineNumber () const
 
void throwExceptions ()
 
void dontThrowExceptions ()
 
OSstreamoperator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber=0)
 Convert to OSstream. More...
 
OSstreamoperator() (const string &functionName, const char *sourceFileName, const int sourceFileLineNumber=0)
 Convert to OSstream. More...
 
OSstreamoperator() ()
 Explicitly convert to OSstream for << operations. More...
 
 operator OSstream & ()
 Convert to OSstream for << operations. More...
 
 operator dictionary () const
 Create and return a dictionary. 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...
 
- Public Member Functions inherited from messageStream
 messageStream (const string &title, const errorSeverity, const int maxErrors=0)
 Construct from components. More...
 
const stringtitle () const
 Return the title of this error type. More...
 
int maxErrors () const
 Return the maximum number of errors before program termination. More...
 
int & maxErrors ()
 Return non-const access to the maximum number of errors before. More...
 
OSstreamoperator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber=0)
 Convert to OSstream. More...
 
OSstreamoperator() (const string &functionName, const char *sourceFileName, const int sourceFileLineNumber=0)
 Convert to OSstream. More...
 
OSstreamoperator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber, const string &ioFileName, const label ioStartLineNumber=-1, const label ioEndLineNumber=-1)
 Convert to OSstream. More...
 
OSstreamoperator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber, const IOstream &)
 Convert to OSstream. More...
 
OSstreamoperator() (const char *functionName, const char *sourceFileName, const int sourceFileLineNumber, const dictionary &)
 Convert to OSstream. More...
 
OSstreamoperator() (const label communicator=-1)
 Explicitly convert to OSstream for << operations. More...
 
 operator OSstream & ()
 Convert to OSstream for << operations. More...
 

Static Public Member Functions

static void safePrintStack (std::ostream &)
 Helper function to print a stack (if OpenFOAM IO not yet. More...
 
static void printStack (Ostream &)
 Helper function to print a stack. More...
 

Protected Attributes

string functionName_
 
string sourceFileName_
 
label sourceFileLineNumber_
 
bool abort_
 
bool throwExceptions_
 
OStringStream messageStream_
 
- Protected Attributes inherited from messageStream
string title_
 
errorSeverity severity_
 
int maxErrors_
 
int errorCount_
 

Friends

Ostreamoperator<< (Ostream &, const error &)
 

Additional Inherited Members

- Public Types inherited from messageStream
enum  errorSeverity { INFO , WARNING , SERIOUS , FATAL }
 Severity flags. More...
 
- Static Public Attributes inherited from messageStream
static int level
 

Detailed Description

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 which may terminate the program or throw an exception depending on whether the exception handling has been switched on (off by default).

Usage
error << "message1" << "message2" << FoamDataType << exit(errNo);
error << "message1" << "message2" << FoamDataType << abort();
void exit(const int errNo=1)
Exit : can be called for any error to exit program.
Definition: error.C:125
error(const string &title)
Construct from title string.
Definition: error.C:36
void abort()
Abort : used to stop code for fatal errors.
Definition: error.C:166
Source files

Definition at line 67 of file error.H.

Constructor & Destructor Documentation

◆ error()

error ( const string title)

Construct from title string.

Definition at line 36 of file error.C.

References Foam::endl(), error::exit(), IOstream::good(), error::messageStream_, and Foam::Perr.

Here is the call graph for this function:

Member Function Documentation

◆ message()

Foam::string message ( ) const

Definition at line 119 of file error.C.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ functionName()

const string& functionName ( ) const
inline

Definition at line 100 of file error.H.

References error::functionName_.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ sourceFileName()

const string& sourceFileName ( ) const
inline

Definition at line 105 of file error.H.

References error::sourceFileName_.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ sourceFileLineNumber()

label sourceFileLineNumber ( ) const
inline

Definition at line 110 of file error.H.

References error::sourceFileLineNumber_.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ throwExceptions()

void throwExceptions ( )
inline

Definition at line 115 of file error.H.

References error::throwExceptions_.

Referenced by if().

Here is the caller graph for this function:

◆ dontThrowExceptions()

void dontThrowExceptions ( )
inline

Definition at line 120 of file error.H.

References error::throwExceptions_.

◆ operator()() [1/3]

Foam::OSstream & operator() ( const char *  functionName,
const char *  sourceFileName,
const int  sourceFileLineNumber = 0 
)

Convert to OSstream.

Prints basic message and returns OSstream for further info.

Definition at line 57 of file error.C.

◆ operator()() [2/3]

Foam::OSstream & operator() ( const string functionName,
const char *  sourceFileName,
const int  sourceFileLineNumber = 0 
)

Convert to OSstream.

Prints basic message and returns OSstream for further info.

Definition at line 72 of file error.C.

◆ operator()() [3/3]

Foam::OSstream & operator() ( )

Explicitly convert to OSstream for << operations.

Definition at line 88 of file error.C.

References Foam::abort(), Foam::endl(), and Foam::Perr.

Referenced by error::operator OSstream &(), and IOerror::operator()().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator OSstream &()

operator OSstream & ( )
inline

Convert to OSstream for << operations.

Definition at line 147 of file error.H.

References error::operator()().

Here is the call graph for this function:

◆ operator dictionary()

operator dictionary ( ) const

Create and return a dictionary.

◆ safePrintStack()

void safePrintStack ( std::ostream &  os)
static

Helper function to print a stack (if OpenFOAM IO not yet.

initialised)

Definition at line 192 of file printStack.C.

References Foam::endl().

Here is the call graph for this function:

◆ printStack()

void printStack ( Ostream os)
static

Helper function to print a stack.

Definition at line 30 of file dummyPrintStack.C.

Referenced by messageStream::operator()(), Foam::reduce(), and pointMesh::~pointMesh().

Here is the caller graph for this function:

◆ exit()

void exit ( const int  errNo = 1)

Exit : can be called for any error to exit program.

Prints stack before exiting.

Definition at line 125 of file error.C.

References Foam::abort(), dictionary::add(), jobInfo::constructed, Foam::endl(), jobInfo::exit(), Foam::exit(), UPstream::exit(), Foam::jobInfo_, UPstream::parRun(), and Foam::Perr.

Referenced by argList::argList(), error::error(), Foam::exit(), if(), argList::parse(), argList::setOption(), and argList::unsetOption().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ abort()

void abort ( )

Abort : used to stop code for fatal errors.

Prints stack before exiting.

Definition at line 166 of file error.C.

References UPstream::abort(), jobInfo::abort(), Foam::abort(), dictionary::add(), jobInfo::constructed, Foam::endl(), Foam::jobInfo_, UPstream::parRun(), and Foam::Perr.

Referenced by Foam::abort().

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<<

Ostream& operator<< ( Ostream ,
const error  
)
friend

Member Data Documentation

◆ functionName_

string functionName_
protected

Definition at line 77 of file error.H.

Referenced by error::functionName().

◆ sourceFileName_

string sourceFileName_
protected

Definition at line 78 of file error.H.

Referenced by error::sourceFileName().

◆ sourceFileLineNumber_

label sourceFileLineNumber_
protected

Definition at line 79 of file error.H.

Referenced by error::sourceFileLineNumber().

◆ abort_

bool abort_
protected

Definition at line 81 of file error.H.

◆ throwExceptions_

bool throwExceptions_
protected

Definition at line 83 of file error.H.

Referenced by error::dontThrowExceptions(), and error::throwExceptions().

◆ messageStream_

OStringStream messageStream_
protected

Definition at line 85 of file error.H.

Referenced by error::error().


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