
大多数网友反馈的是,多次读取response.body().string()导致的,这里情况有些不一样。的确只调用了一次,如下:
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
ResponseBody respBody = response.body();
if(respBody !=null){
return respBody.string();
}else {
return "";
}
} catch (IOException e) {
throw new RuntimeException(e);
}
没有两次调用了,报了错:

不用多解释,还是在读取流的时候,关闭了。继续排查。
发现了一个低级错误。在断点观察中有进行string()读取:

移除watch,后代码正常通过.
在观察流操作的时候,watch和expression需要谨慎
文章讲述了开发者遇到的问题,即在单次调用`response.body().string()`时出现错误,经排查发现是由于在断点观察期间无意中关闭了流,移除watch后问题得到解决,强调了在处理流操作时的谨慎态度。
2630

被折叠的 条评论
为什么被折叠?



