我是android的新手,所以我对所有错误都不陌生,这是我在解析json时在catch子句中遇到的错误(JSONException的Unreachable catch块。从try语句主体永远不会抛出此异常)。谁能告诉我该怎么办。感谢我的代码:

if (usernameEditText == null || passwordEditText == null)
{
  Toast.makeText(HelloAndroid.this, "Please enter your username & password",Toast.LENGTH_SHORT).show();
}
else
{
  // display the username and the password in string format
  try
  {
    showBusyCursor(true);
    progress = ProgressDialog.show(this,"Please wait...", "Login in process", true);

    Log.i(DEB_TAG, "Username: " + sUserName + "nPassword: " + sPassword);
    Log.i(DEB_TAG, "Requesting to "+address);

    JSONObject json = RestJsonClient.connect(address);
  }
  catch (JSONException e)
  {
    e.printStackTrace();
    showBusyCursor(false);
  }
}

最佳答案

您的错误意味着
1. try块中的代码永远不会抛出JSONException
2.或JSONException被捕获在catch (JSONException e)块之前,因此您的try-catch块可能看起来像:

try {
    [...]
}
catch (Exception e) {
    // some code
}
catch (JSONException e) {
    //some other code...
}


在这里,catch (Exception e)块在JSONException之前被调用,并且由于JSONException扩展了Exception类,因此将永远不会输入它。

在这种情况下,您应该更改catch块的顺序,并且能够以不同方式处理这两种异常类型。

关于android - Json解析错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5895830/

10-11 00:09