我正在解析JSON结果,但有时格式不正确,例如如果网站关闭。当我尝试在应用程序上解析该内容时,我得到一个JSONException(因为它是有效的JSON)。我想向用户显示一条消息,说稍后再试,并且不会使应用程序崩溃,但是我运气不好。

Here它说


  尽管这是一个已检查的异常,但几乎无法恢复。最
  调用者应仅将此异常包装在未经检查的异常中
  并重新抛出:


如果我没看错,那我将无法将消息打印给用户并保留该应用
从崩溃。如果正确,那么可以完成几次(在什么条件下)?

最佳答案

引用只是意味着您必须通过使用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();

}

10-07 20:41