java build返回空值_OKHTTP拦截器不断返回空值并使应用程序崩溃
我有一个OKHTTP客户机,它使用我的自定义网络拦截器将令牌插入请求头中。
我不断地得到例外
E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
Process: com.edstart.tazuzu, PID: 32093
java.lang.NullPointerException: interceptor com.edstart.tazuzu.RestAPI.RequestsErrorInterceptor@2bde70f returned null
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:157)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.edstart.tazuzu.RestAPI.TazuzuRequestsInterceptor.intercept(TazuzuRequestsInterceptor.kt:30)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:200)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
我试过用Try/Catch包围拦截器。同时也抛出错误,以避免应用程序崩溃,但没有很好的效果。
拦截器代码:
package com.edstart.tazuzu.RestAPI
import android.util.Log
import com.edstart.tazuzu.Managers.ServerManager
import okhttp3.Interceptor
import okhttp3.Response
import java.net.InetAddress
import kotlin.Exception
/**
* interceptor for the tazuzu api requests to insert the token before the request
* send to the server (for authentication)
*/
class TazuzuRequestsInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain?): Response? {
try {
if (!isInternetAvailable()) {
throw Exception()
} else {
var request = chain?.request()
if (request != null) {
val builder = request.newBuilder()
if (builder != null) {
builder.addHeader("x-access-token", ServerManager.token)
request = builder.build()
if (request != null && chain != null) {
return chain.proceed(request)
}
}
}
}
} catch (e: java.lang.Exception) {
Log.e("###", e.toString())
throw e
}
return null
}
private fun isInternetAvailable(): Boolean {
return try {
val ipAddr = InetAddress.getByName("google.com")
//You can replace it with your name
!ipAddr.equals("")
} catch (e: Exception) {
false
}
}
请帮忙,寻找控制异常的方法,以避免应用程序崩溃。
java build返回空值_OKHTTP拦截器不断返回空值并使应用程序崩溃相关推荐
- Java自定义异常类以及异常拦截器
Java自定义异常类以及异常拦截器 参考文章: (1)Java自定义异常类以及异常拦截器 (2)https://www.cnblogs.com/acm-bingzi/p/java_exception. ...
- java中注解动态传参_SpringMVC之注解、传参、返回值及拦截器
1. 注解式开发之annotation-driven解释 (1) mvc注解驱动在哪个文件中配置? Springmvc.xml (2) 配置mvc注解驱动使用哪个标签? 2. 注解式开发之视图解析器 ...
- Java笔记-springframework.ws中拦截器的使用(SOAP)
这里首先说下客户端拦截器. 这里要实现的效果 这里的打印都是在拦截器中打印的! 下面要介绍如下的东西,如何在拦截器中打印这些东西,其次是在拦截器中添加一个head 对应的Maven <?xml ...
- struts 修改拦截器修改返回值_关于struts2简单的介绍与示例
Apache Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构.它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构. 缘起于Apache St ...
- Java Servlet 过滤器与 springmvc 拦截器的区别?
前言:在工作中,遇到需要记录日志的情况,不知道该选择过滤器还是拦截器,故总结了一下. servlet 过滤器 定义 java过滤器能够对目标资源的请求和响应进行截取.过滤器的工作方式分为四种 应用场景 ...
- 439、Java框架93 -【SpringMVC - 拦截器】 2020.12.14
目录 0.效果 1.拦截器类:IndexInterceptor 2.配置拦截器 3.修改 index.jsp 4.测试 5.参考链接 0.效果 访问地址之后,看到如图所示的拦截器打印的效果 http: ...
- Java中的过滤器和拦截器
一.简介 1.什么是拦截器? (1)在AOP中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.拦截是AOP的一种实现策略. (2)拦截器是动态拦截Action调用的对象.它提供了 ...
- SpringMvc拦截器解决返回数据乱码问题
本人遇到问题如下: 正确配置完成了springmvc拦截器之后,如果需要在拦截器中,直接返回数据,则返回值为乱码.本人项目编码为UTF-8 一.实现拦截器 package cn.test.interc ...
- java SpringBoot登录验证token拦截器
用户访问接口验证,如果用户没有登录,则不让他访问除登录外的任何接口. 实现思路: 1.前端登录,后端创建token(通过JWT这个依赖),返给前端 2.前端访问其他接口,传递token,后端判断tok ...
最新文章
- “AS3.0高级动画编程”学习:第二章转向行为(上)
- WebService(基于AXIS的WebService编程)
- 从 React Router 谈谈路由的那些事
- C#关于参数为null(空值)的方法调用,重载顺序选择彻底研究
- weex css单位,Weex系列(7) ——踩坑填坑的总总
- Maximal Continuous Rest
- python执行js文件
- TabLayout 与 FragmentTabHost
- 【实战 Ids4】║ 认证中心之内部加权
- cgi进程设置多少 宝塔_宝塔面板安装完的一些列操作
- js中追加写入文件(字符串追加)_note
- C#中Abstract和Virtual的区别
- 下 文库 试读_数字资源专题导览 | 科学文库简介
- Python爬虫高阶:微店混淆逆向解密
- 南方cass快捷键命令修改在哪_南方测绘cass快捷键命令大全,南方测绘cass常用的快捷键命令有哪些?...
- D语言(dlang)编写单片机(cortex-m系列)应用需要用到的技巧
- 星浩资本-以流程为中心
- webpack 的热更新是如何做到的?原理是什么?
- 考研数学复习笔记——行列式2
- 本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。
热门文章
- 《需求工程——软件建模与分析》阅读笔记之二
- O(V*n)的多重背包问题
- spring 国际化-i18n
- java.net.ConnectException: Connection refused: connect
- LoadRunner常用函数(转)
- 国产数据库 OceanBase 二次刷榜 TPC-C,7 亿 tpmC!
- 别扯了,这才是应对高并发的正确处理思路。
- 漫画: 可以给女朋友讲解 Linux 内核长啥样了
- 马化腾生日当天 微信支付居然崩溃了//(ㄒoㄒ)//
- 小程序开发入门基础篇-张代浩-专题视频课程