我已经用CNO编写了一个使用此代码连接到Web服务的应用程序...
NetworkManager.getInstance().addToQueueAndWait(connReq);
Map<String,Object> result = new JSONParser().parseJSON(new InputStreamReader(new ByteArrayInputStream(connReq.getResponseData()), "UTF-8"));
return result;
该代码对所有成功的连接均适用。但是,如果全部出现“ 500 Internal Server Error”,则会显示一个带有“ Cancel”和“ Retry”的对话框。
问题是作为测试的一部分,我故意在端点上触发了错误的请求-但是我似乎对如何处理错误的响应没有任何选择。
代码到达这一行-NetworkManager.getInstance()。addToQueueAndWait(connReq); -然后死。
无论如何,有没有捕捉到失败然后继续下去?
谢谢
最佳答案
有很多方法可以处理错误。查看developer guide section on networking进行冗长的讨论。
与您的方法一致的简单解决方案是:
connReq.setFailSilently(true);
NetworkManager.getInstance().addToQueueAndWait(connReq);
if(connReq.getResponseCode() == 200 || connReq.getResponseCode() == 202) {
// success code here
} else {
// fail code here...
}