使用jsoncpp时,发生terminate called after throwing an instance of 'Json::LogicError'的处理方法

出现这种错误的原因很多,原因也很明显,就是你使用了错误的类型处理数据,比如一个int你用string去赋值,或者读取一个不存在的member……

最好的方法当然时修改你的读取函数,but,很多时候json数据时从别的地方读取的,它会不按定义好的规范来的。如果因为不规范导致程序退出就不好玩了是吧。

所以,如果你不想程序退出,那就修改下jsoncpp的代码吧。 

比如asCstring()导致的error,修改如下:

不嫌麻烦的话,每次读取前用isstring()判断也是可以的。

其他的error修改方法一样。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章