Retrofit返回非定义数据格式处理,
例:原本登录后是返回用户信息,但是在个人中心出现登录失败,数据解析异常
retrofitBuilder.addConverterFactory(com.dutuwang.app.util.GsonConverterFactory.create())
class ResultException(code: Int, message: String?) : Exception(message) { }
GsonConverterFactory中判断处理
val response = Gson().fromJson(x, ResultResponse::class.java) if (response.error!! > 0) { //抛一个自定义ResultException 传入失败时候的状态码,和信息 throw ResultException(response.error, response.info.toString()) } else { //todo }
然后在onFailure中进行异常处理就可以了。
Retrofit返回json数据解析异常处理