我正在尝试检查JSONObject是否有特定的密钥。这是我的代码:
JSONObject meta = App.meta();
int sum = 0;
JSONObject mapping;
if(!meta.has("readMessagesMap")){ <--- this line jumps to...
return 0; <--- never called
}else{
try { <--- never called
mapping = meta.getJSONObject("readMessagesMap");
[...]
return sum;
} catch (JSONException e) {
e.printStackTrace();
return 0; <--- ...directly to here
}
}
meta
是有效的JSONObject
:
当我踩到时,if语句不知何故直接跳转到catch块内的return 0
行,甚至没有输入try块。我在try行e.printStackTrace
行上有断点,它们只是没有被调用。也不打印堆栈跟踪。我不知道为什么会这样。我重新启动了Android Studio和我的应用程序,但它是一样的。
答案 0 :(得分:0)
这是一个符号腐败问题。我已经清理了这个项目并且它已经离开了。