从JSONException恢复

时间:2014-03-04 19:40:51

标签: java android json

我正在解析JSON结果,但有时会出现格式错误,例如如果网站失败了当我尝试在我的应用上解析时,我得到JSONException(因为它有效JSON)。我想再向用户打印一条消息,说稍后再试,不要让应用程序崩溃,但我运气不好。

Here它说

  

虽然这是一个经过检查的例外,但它很少可以恢复。最   调用者应该将此异常简单地包装在未经检查的异常中   和重新抛出:

如果我正确阅读,那么我将无法将消息打印给用户并保留应用程序 从崩溃。如果这是正确的,可以做几次(在什么条件下)?

1 个答案:

答案 0 :(得分:0)

您的引用只是意味着您必须通过使用try / catch或在方法签名中添加“throws JSONException”来检查异常,即使您必须检查它,通常也无法修复它,所以只是抛出一个RuntimeException等。

但你可以优雅地处理它。这是让你开始的事情:

try {
    JSONObject obj = new JSONObject();
    // crazy stuff that might throw a JSONException
} catch (JSONException e) {

    AlertDialog.Builder alert = new AlertDialog.Builder(context)
        .setTitle(R.string.dialog_title_error)
        .setMessage(R.string.dialog_message_error)
        .setPositiveButton(android.R.string.ok, null);
    alert.show();

}