From 73278c0a16cf0d68fb9011203a2112c3499df195 Mon Sep 17 00:00:00 2001 From: s_nakamoto Date: Wed, 10 Feb 2010 19:46:04 +0000 Subject: [PATCH] better error message in check_type(), tell the types by name instead of by number --- json/json_spirit_value.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/json/json_spirit_value.h b/json/json_spirit_value.h index e8be3553..e9bcd36b 100644 --- a/json/json_spirit_value.h +++ b/json/json_spirit_value.h @@ -24,6 +24,7 @@ namespace json_spirit { enum Value_type{ obj_type, array_type, str_type, bool_type, int_type, real_type, null_type }; + static const char* Value_type_name[]={"obj", "array", "str", "bool", "int", "real", "null"}; template< class Config > // Config determines whether the value uses std::string or std::wstring and // whether JSON Objects are represented as vectors or maps @@ -341,7 +342,8 @@ namespace json_spirit { std::ostringstream os; - os << "value type is " << type() << " not " << vtype; + /// satoshi: tell the types by name instead of by number + os << "value is type " << Value_type_name[type()] << ", expected " << Value_type_name[vtype]; throw std::runtime_error( os.str() ); }