我正在使用rxjava的Reformation2来发送rest请求。Gson作为json解析。
如果Gson不能解析json字符串,则抛出
java.lang.IllegalStateException
如果错误类型为
HttpException
我可以从中获取url,但在其他类型中,如
java.lang.IllegalStateException异常
和
TimeoutException
如何在rxjava中实现url并对catch进行改造。
mainApi.getSomething(offset, limit, distance, latitude, longitude)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({it:Response<Something>
val entities = it.body()?.entities
callBack.onResponse(it.raw(), entities)
}, {//it:throwable
if (t is HttpException) {
Log.d("logUrl", "HttpException : ${t.response().raw().request().url()} : ${t.code()} :${t.message()}")
} else//something like IllegalStateException or TimeoutException
Log.d("logUrl", "Failure : ${t.localizedMessage}")
})
})