errors.hpp File Reference

Classes and functions for error handling. More...

#include <ql/qldefines.hpp>
#include <boost/assert.hpp>
#include <boost/current_function.hpp>
#include <boost/shared_ptr.hpp>
#include <exception>
#include <sstream>
Include dependency graph for errors.hpp:

Classes

class  Error
 Base error class. More...
 

Namespaces

namespace  QuantLib
 

Macros

#define QL_FAIL(message)
 throw an error (possibly with file and line information)
 
#define QL_ASSERT(condition, message)
 throw an error if the given condition is not verified
 
#define QL_REQUIRE(condition, message)
 throw an error if the given pre-condition is not verified
 
#define QL_ENSURE(condition, message)
 throw an error if the given post-condition is not verified
 

Detailed Description

Classes and functions for error handling.

Macro Definition Documentation

#define QL_FAIL (   message)
Value:
do { \
std::ostringstream _ql_msg_stream; \
_ql_msg_stream << message; \
throw QuantLib::Error(__FILE__,__LINE__, \
BOOST_CURRENT_FUNCTION,_ql_msg_stream.str()); \
} while (false)

throw an error (possibly with file and line information)

#define QL_ASSERT (   condition,
  message 
)
Value:
if (!(condition)) { \
std::ostringstream _ql_msg_stream; \
_ql_msg_stream << message; \
throw QuantLib::Error(__FILE__,__LINE__, \
BOOST_CURRENT_FUNCTION,_ql_msg_stream.str()); \
} else

throw an error if the given condition is not verified

#define QL_REQUIRE (   condition,
  message 
)
Value:
if (!(condition)) { \
std::ostringstream _ql_msg_stream; \
_ql_msg_stream << message; \
throw QuantLib::Error(__FILE__,__LINE__, \
BOOST_CURRENT_FUNCTION,_ql_msg_stream.str()); \
} else

throw an error if the given pre-condition is not verified

Examples:
DiscreteHedging.cpp, FittedBondCurve.cpp, and swapvaluation.cpp.
#define QL_ENSURE (   condition,
  message 
)
Value:
if (!(condition)) { \
std::ostringstream _ql_msg_stream; \
_ql_msg_stream << message; \
throw QuantLib::Error(__FILE__,__LINE__, \
BOOST_CURRENT_FUNCTION,_ql_msg_stream.str()); \
} else

throw an error if the given post-condition is not verified