Satoshi MailBeta Open in Satoshi Mail

better error message in check_type(), tell the types by name instead of by number

Commit by Satoshi Nakamoto (s_nakamoto) on 10 February 2010 · SVN r59 · release v0.2.2 · 1 files, +3 −1

Open in Satoshi Mail View on GitHub

Files changed

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() );
         }