我正在使用okhttp3,我试图像这样获得响应errorBody:
ResponseBody errorBody = response.errorBody();
Android Studio给了我以下警告:
'ResponseBody' used without 'try'-with-resources statement
如何正确获取errorBody
?
我正在使用okhttp3,我试图像这样获得响应errorBody:
ResponseBody errorBody = response.errorBody();
Android Studio给了我以下警告:
'ResponseBody' used without 'try'-with-resources statement
如何正确获取errorBody
?
1条答案
按热度按时间92vpleto1#
从okhhtp 3的文档:
**响应体必须关闭。**每个响应体都有一个有限的资源作为后盾,比如socket(实时网络响应)或打开的文件(用于缓存响应)。如果不关闭响应体,将导致资源泄漏,最终可能导致应用程序变慢或崩溃。
来自Oracle的文档:
try-with-resources语句是一个声明一个或多个资源的try语句。资源是一个对象,在程序使用完它后必须关闭。try-with-resources语句确保每个资源在语句结束时关闭。任何实现java.lang.AutoCloseable的对象(包括实现java.io.Closeable的所有对象)都可以用作资源。
因此,您应该像这样使用errorBody: