Public Member Functions | Static Public Member Functions | Protected Attributes | Friends
error Class Reference

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

Inheritance diagram for error:
Inheritance graph
[legend]
Collaboration diagram for error:
Collaboration graph
[legend]

Public Member Functions

 error (const string &title)
 Construct from title string. More...
 
 error (const dictionary &)
 Construct from dictionary. More...
 
 error (const error &)
 Construct as copy. More...
 
virtual ~error () throw ()
 Destructor. 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...
 
 operator OSstream & ()
 Convert to OSstream. More...
 
OSstreamoperator() ()
 Explicitly 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, errorSeverity, const int maxErrors=0)
 Construct from components. More...
 
 messageStream (const dictionary &)
 Construct from dictionary. 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...
 
OSstreammasterStream (const label communicator)
 Convert to OSstream. 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...
 
 operator OSstream & ()
 Convert to OSstream for << operations. More...
 
OSstreamoperator() ()
 Explicitly 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 throwExceptions_
 
OStringStreammessageStreamPtr_
 
- 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();
Source files

Definition at line 66 of file error.H.

Constructor & Destructor Documentation

◆ error() [1/3]

error ( const string title)

Construct from title string.

Definition at line 36 of file error.C.

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

Here is the call graph for this function:

◆ error() [2/3]

error ( const dictionary errDict)

Construct from dictionary.

Definition at line 56 of file error.C.

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

Here is the call graph for this function:

◆ error() [3/3]

error ( const error err)

Construct as copy.

Definition at line 77 of file error.C.

◆ ~error()

~error ( )
throw (
)
virtual

Destructor.

Definition at line 91 of file error.C.

Member Function Documentation

◆ message()

Foam::string message ( ) const

Definition at line 159 of file error.C.

Referenced by doCommand(), and Foam::operator<<().

Here is the caller graph for this function:

◆ functionName()

const string& functionName ( ) const
inline

Definition at line 106 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 111 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 116 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 121 of file error.H.

References error::throwExceptions_.

Referenced by main(), Foam::tryCalc(), calcType::tryCalc(), calcType::tryInit(), calcType::tryPostCalc(), and calcType::tryPreCalc().

Here is the caller graph for this function:

◆ dontThrowExceptions()

void dontThrowExceptions ( )
inline

Definition at line 126 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 98 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 113 of file error.C.

◆ operator OSstream &()

operator OSstream & ( )

Convert to OSstream.

Prints basic message and returns OSstream for further info.

◆ operator()() [3/3]

OSstream& operator() ( )
inline

Explicitly convert to OSstream for << operations.

Definition at line 154 of file error.H.

Referenced by IOerror::operator()().

Here is the caller 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::masterStream(), and Foam::reduce().

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 165 of file error.C.

References Foam::abort(), dictionary::add(), JobInfo::constructed, Foam::endl(), Foam::env(), 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 206 of file error.C.

References JobInfo::abort(), Foam::abort(), UPstream::abort(), dictionary::add(), JobInfo::constructed, Foam::endl(), Foam::env(), Foam::exit(), 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

Field Documentation

◆ functionName_

string functionName_
protected

Definition at line 76 of file error.H.

Referenced by error::functionName().

◆ sourceFileName_

string sourceFileName_
protected

Definition at line 77 of file error.H.

Referenced by error::sourceFileName().

◆ sourceFileLineNumber_

label sourceFileLineNumber_
protected

Definition at line 78 of file error.H.

Referenced by error::sourceFileLineNumber().

◆ throwExceptions_

bool throwExceptions_
protected

Definition at line 80 of file error.H.

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

◆ messageStreamPtr_

OStringStream* messageStreamPtr_
protected

Definition at line 81 of file error.H.

Referenced by error::error().


The documentation for this class was generated from the following files:
Foam::error::error
error(const string &title)
Construct from title string.
Definition: error.C:36
Foam::error::exit
void exit(const int errNo=1)
Exit : can be called for any error to exit program.
Definition: error.C:165
Foam::error::abort
void abort()
Abort : used to stop code for fatal errors.
Definition: error.C:206