使用jsoncpp時,發生terminate called after throwing an instance of 'Json::LogicError'的處理方法

出現這種錯誤的原因很多,原因也很明顯,就是你使用了錯誤的類型處理數據,比如一個int你用string去賦值,或者讀取一個不存在的member……

最好的方法當然時修改你的讀取函數,but,很多時候json數據時從別的地方讀取的,它會不按定義好的規範來的。如果因爲不規範導致程序退出就不好玩了是吧。

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

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

不嫌麻煩的話,每次讀取前用isstring()判斷也是可以的。

其他的error修改方法一樣。 

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