我有這樣一段代碼:JSONException沒有抓到
HJRestClient.post(path, params, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
try {
JSONArray array = response.getJSONArray("tags");
if (adDetailViewAdapter != null) {
adDetailViewAdapter.setTags(array);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
它上線JSONArray array = response.getJSONArray("tags");
崩潰,出現異常W/System.err: org.json.JSONException: No value for tags
雖然我已經爲捕捉異常編寫的代碼,這不是事情敗露,導致應用程序崩潰。
我有2個設備Samsung Galaxy Note 5與Android v6.0.1
其中exception
被成功捕獲。
另一個華爲伴侶7 Android v4.4.2
其中exception
沒有被捕獲並導致崩潰。
我還寫道:
catch (Exception exception) {}
但它仍然是越來越墜毀。
任何幫助?
把你的JSON響應也驗證 – Stallion
如果你得到你的響應null比它會引發異常。在你的情況下,它看起來像你正在得到迴應,但你從你的迴應中獲取錯誤的標籤(價值)。 –
你有沒有考慮過使用'optJSONArray'呢? :) –