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>
Classes | |
| class | Error |
| Base error class. More... | |
Defines | |
| #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 | |
Classes and functions for error handling.
| #define QL_FAIL | ( | message | ) |
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 | |||
| ) |
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 | |||
| ) |
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
| #define QL_ENSURE | ( | condition, | |
| message | |||
| ) |
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