侧边栏壁纸
博主头像
Stars-One的杂货小窝博主等级

所有的创作都是有价值的

  • 累计撰写 277 篇文章
  • 累计创建 46 个标签
  • 累计收到 27 条评论

目 录CONTENT

文章目录

记Okhttp的拦截器导致app崩溃问题

Stars-one
2023-08-30 / 0 评论 / 0 点赞 / 296 阅读 / 2118 字

app对接的后台接口,传参需要加密,获取数据需要解密,于是使用了拦截器去实现,然后发现以下问题:

即使在发起请求的那行代码已经有try catch,但是接口响应数据体为空仍然会导致导致app崩溃

实际上,就是后台接口没有返回数据导致的崩溃闪退出现(当然,有可能是我APP接口传参问题或者后台调整了)

原因

崩溃信息见下图:

搜索网络上的资料,发现这是Okhttp的设计思想的问题,因为国外的开发者考虑如果响应数据体为空,那么就是直接抛出异常结束应用

而国内一般喜欢容错处理和提示用户

处理方法

那么如何解决呢?

首先,我们知道为什么会崩溃?

因为okhttp拦截器如果抛出非IO异常,则会导致app崩溃,设计如此

基于上面,我们可以在拦截器里加上一个try catch,并将异常转为IO异常,之后异常就会成功地抛出到我们外层的try catch,就不会崩溃了

参考

0

评论区