1
我寫了一個方法來創建一個JSONObject,用於工作。突然間我表現得很奇怪。通過調試器,我可以到達返回創建的JSONObject的那一行,但它總是跳轉到返回null的最後一行,而不會去執行catch塊。調試器告訴我,創建的對象是一個有效的JSONObject。return語句在調試時被忽略
import org.json.JSONObject;
...
JSONObject returnJson = new JSONObject();
try {
returnJson.put("event", event);
returnJson.put("list", jsonArray);
returnJson.put("type", "list");
returnJson.put("container", container);
Log.d(TAG, "created");
Log.d(TAG, returnJson.toString());
return returnJson;
} catch (JSONException e) {
Log.e(TAG, e.getMessage(), e);
}
Log.d(TAG, "null returned"); // never called in the non-debugging mode
return returnJson;
它能正常工作*不在調試器中嗎?也許調試器的工作源與類文件不同步...... – 2015-03-13 11:32:47
我不這麼認爲。因爲我無法調試,我只能猜測,但該項目的行爲就像沒有返回json對象一樣。無論如何,我清除所有緩存並重新啓動,我無法修復任何可能的不同步問題。 – richard 2015-03-13 11:35:08
那麼你可以很容易地添加*日誌記錄*來查看它沒有調試到底有多遠...... – 2015-03-13 11:35:44