Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Protected Member Functions | Protected Attributes
concepts::Assertion Class Reference

Exception class for assertions. More...

#include <exceptions.hh>

Inheritance diagram for concepts::Assertion:
Inheritance graph
[legend]
Collaboration diagram for concepts::Assertion:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Assertion () throw ()
 Default constructor.
 Assertion (const std::string &file, const unsigned int line, const std::string &function, const std::string &excName, const std::string &cond) throw ()
 Constructor.
void setFields (const std::string &file, const unsigned int line, const std::string &function, const std::string &excName) throw ()
 Sets the fields of this exception.
void setFieldsAssert (const std::string &file, const unsigned int line, const std::string &function, const std::string &excName, const std::string &cond=std::string("")) throw ()
 Sets the fields of this exception.
virtual ~Assertion () throw ()

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const throw ()
 Returns information in an output stream.

Protected Attributes

std::string excName_
 The name of the exception with calling sequence.
std::string feature_
 Missing feature.
std::string file_
 Filename where the exception was thrown from.
std::string function_
 Name of the function that threw the exception.
unsigned int line_
 Line where the exception was thrown from.

Detailed Description

Exception class for assertions.

Besides the information already present in ExceptionBase, this class features more information about the assertion which failed. The ouput operator (<<) can display this information.

The typical usage of this class is to throw an exception if an assertion has failed. This can be done by

conceptsAssert(1 == 0, Assertion());

These exceptions are not always present, since the macro conceptsAssert is switched off in production code. If you want to have exceptions which are always present, have a look at ExceptionBase and conceptsException.

See also:
conceptsAssert
conceptsException
ExceptionBase
Test:
test::ExceptionTest
Author:
Philipp Frauenfelder, 2000
Examples:

hpFEM2d.cc, linearFEM1d-simple.cc, and linearFEM1d.cc.

Definition at line 213 of file exceptions.hh.


Constructor & Destructor Documentation

concepts::Assertion::Assertion ( ) throw ()

Default constructor.

concepts::Assertion::Assertion ( const std::string &  file,
const unsigned int  line,
const std::string &  function,
const std::string &  excName,
const std::string &  cond 
) throw ()

Constructor.

Parameters:
fileFilename where the exception was thrown from
lineLine where the exception was thrown from
functionName of the function that threw the exception
excNameThe name of the exception
condCondition which was violated
virtual concepts::Assertion::~Assertion ( ) throw () [virtual]

Member Function Documentation

virtual std::ostream& concepts::Assertion::info ( std::ostream &  os) const throw () [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::MissingFeature.

void concepts::ExceptionBase::setFields ( const std::string &  file,
const unsigned int  line,
const std::string &  function,
const std::string &  excName 
) throw () [inherited]

Sets the fields of this exception.

Parameters:
fileFilename where the exception was thrown from
lineLine where the exception was thrown from
functionName of the function that threw the exception
excNameThe name of the exception
void concepts::Assertion::setFieldsAssert ( const std::string &  file,
const unsigned int  line,
const std::string &  function,
const std::string &  excName,
const std::string &  cond = std::string("") 
) throw ()

Sets the fields of this exception.

Parameters:
fileFilename where the exception was thrown from
lineLine where the exception was thrown from
functionName of the function that threw the exception
excNameThe name of the exception
condCondition which was violated

Member Data Documentation

std::string concepts::ExceptionBase::excName_ [protected, inherited]

The name of the exception with calling sequence.

Definition at line 128 of file exceptions.hh.

std::string concepts::MissingFeature::feature_ [protected, inherited]

Missing feature.

Definition at line 186 of file exceptions.hh.

std::string concepts::ExceptionBase::file_ [protected, inherited]

Filename where the exception was thrown from.

Definition at line 119 of file exceptions.hh.

std::string concepts::ExceptionBase::function_ [protected, inherited]

Name of the function that threw the exception.

Definition at line 125 of file exceptions.hh.

unsigned int concepts::ExceptionBase::line_ [protected, inherited]

Line where the exception was thrown from.

Reimplemented in concepts::Ez4uException.

Definition at line 122 of file exceptions.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)