use Json::LogicError in macros

This commit is contained in:
Christopher Dunn 2015-03-08 12:39:27 -05:00
parent 5383794cc9
commit 9376368d86

View File

@ -18,16 +18,20 @@
* for pre-condition violations and internal logic errors. * for pre-condition violations and internal logic errors.
*/ */
#if JSON_USE_EXCEPTION #if JSON_USE_EXCEPTION
#include <stdexcept>
// @todo <= add detail about condition in exception
# define JSON_ASSERT(condition) \ # define JSON_ASSERT(condition) \
{if (!(condition)) {throw std::logic_error( "assert json failed" );}} // @todo <= add detail about condition in exception {if (!(condition)) {Json::throwLogicError( "assert json failed" );}}
# define JSON_FAIL_MESSAGE(message) \ # define JSON_FAIL_MESSAGE(message) \
{ \ { \
std::ostringstream oss; oss << message; \ std::ostringstream oss; oss << message; \
throw std::logic_error(oss.str()); \ Json::throwLogicError(oss.str()); \
abort(); \
} }
//#define JSON_FAIL_MESSAGE(message) throw std::logic_error(message)
#else // JSON_USE_EXCEPTION #else // JSON_USE_EXCEPTION
# define JSON_ASSERT(condition) assert(condition) # define JSON_ASSERT(condition) assert(condition)
// The call to assert() will show the failure message in debug builds. In // The call to assert() will show the failure message in debug builds. In