1. 程式人生 > >OKHttp異常java.lang.IllegalStateException: closed與debug時遇到的坑

OKHttp異常java.lang.IllegalStateException: closed與debug時遇到的坑

今天第一次使用okhttp,因為介面沒有告知返回的json格式,只好debug自己看返回的串,結果初次使用直接崩潰了

錯誤提示java.lang.IllegalStateException: closed


原因在網上查到是因為

OkHttp請求回撥中response.body().string()只能有效呼叫一次,呼叫response.body().string()的時候資料流已經關閉了,再次呼叫就是提示已經closed


但是無論怎麼看程式碼,我都只調用了一次

這他孃的就奇了怪了,於是繼續查,在這篇Okhttp 使用與debug時留的大坑裡面找到了原因


原來是因為我在debug的時候添加了Watchs,就是程式碼的監視,這裡會呼叫一次response.body().string()。
後面需要注意,程式碼除錯的時候表示式的監視有時候會影響程式碼的執行。

參考:
解決okhttp報java.lang.IllegalStateException: closed,java.lang.IllegalStateException: closed
--------------------- 
作者:老子學不動了啊! 
來源:CSDN 
原文:https://blog.csdn.net/u012587005/article/details/78504925 
版權宣告:本文為博主原創文章,轉載請附上博文連結!