Java 正在捕获代号为1的网络错误
我已经用CNO编写了一个应用程序,它使用这段代码连接到Web服务Java 正在捕获代号为1的网络错误,java,codenameone,Java,Codenameone,我已经用CNO编写了一个应用程序,它使用这段代码连接到Web服务 NetworkManager.getInstance().addToQueueAndWait(connReq); Map<String,Object> result = new JSONParser().parseJSON(new InputStreamReader(new ByteArrayInputStream(connReq.getResponseData()), "UTF-8")); return result
NetworkManager.getInstance().addToQueueAndWait(connReq);
Map<String,Object> result = new JSONParser().parseJSON(new InputStreamReader(new ByteArrayInputStream(connReq.getResponseData()), "UTF-8"));
return result;
NetworkManager.getInstance().addToQueueAndWait(connReq);
Map result=new-JSONParser().parseJSON(新的InputStreamReader(新的ByteArrayInputStream(connReq.getResponseData(),“UTF-8”));
返回结果;
对于所有成功的连接,该代码都可以正常工作。但是,当出现“500内部服务器错误”时,它会显示一个带有“取消”和“重试”的对话框
问题是,作为测试的一部分,我故意在端点触发一个错误的请求,但我似乎没有任何选择来处理错误的响应
代码到达此行-NetworkManager.getInstance().addToQueueAndWait(connReq);-然后就死了
有没有办法抓住一个失败然后继续
谢谢有很多方法可以处理错误。请查看该文档,进行长时间的讨论 与您的方法一致的简单解决方案是:
connReq.setFailSilently(true);
NetworkManager.getInstance().addToQueueAndWait(connReq);
if(connReq.getResponseCode() == 200 || connReq.getResponseCode() == 202) {
// success code here
} else {
// fail code here...
}
有很多方法可以处理错误。请查看该文档,进行长时间的讨论 与您的方法一致的简单解决方案是:
connReq.setFailSilently(true);
NetworkManager.getInstance().addToQueueAndWait(connReq);
if(connReq.getResponseCode() == 200 || connReq.getResponseCode() == 202) {
// success code here
} else {
// fail code here...
}