2024年4月1日发(作者:)
Retrofit+RxJava 优雅的处理服务器返回异常、错误
异常&错误
实际开发经常有这种情况,比如登录请求,接口返回的
信息包括请求返回的状态:失败还是成功,错误码,User对象等等。如果网络等原因
引起的登录失败可以归结为异常,如果是用户信息输入错误导致的登录失败算是错误。
假如服务器返回的是统一数据格式:
/**
* 标准数据格式
* @param
*/
public class Response
public int state;
public String message;
public T data;
}
网络异常导致的登录失败,在使用Retrofit+RxJava请求时都会直接调用subscribe
的onError事件;
密码错误导致的登录失败,在使用Retrofit+RxJava请求时都会调用subscribe的
onNext事件;
无论是异常还是错误,都要在subscribe里面处理异常信息,如下代码:
tance().login("username", "password")
.subscribe(new Observer
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
发布评论