Use nicer formatting for string keys in key_error
[libs/core.git] / source / core / maputils.cpp
index 28739f05ca86c59a3419e3d1f1f2dfe6c93539b7..cb2f389fe78491dd2cd4c8f49ba339bc4389351e 100644 (file)
@@ -1,5 +1,6 @@
 #include <msp/debug/demangle.h>
 #include <msp/strings/format.h>
+#include <msp/strings/utils.h>
 #include "maputils.h"
 
 using namespace std;
@@ -8,7 +9,10 @@ namespace Msp {
 
 string key_error::make_what(const type_info &type, const string &value)
 {
-       return format("%s(%s)", Debug::demangle(type.name()), value);
+       if(&type==&typeid(string))
+               return format("\"%s\"", c_escape(value));
+       else
+               return format("%s(%s)", Debug::demangle(type.name()), value);
 }
 
 } // namespace Msp