Error handling Rxjava2和重新重试错误处理不起作用
我在我的项目中使用改型2和rxjava2,我正在努力处理错误Error handling Rxjava2和重新重试错误处理不起作用,error-handling,retrofit,rx-java2,Error Handling,Retrofit,Rx Java2,我在我的项目中使用改型2和rxjava2,我正在努力处理错误 private Observable<Segment> executeUploadVideoUseCase(Segment segment) { LogDnaLogger.info("Segment upload: " + segment.toString()); return mUploadVideoUseCase.execute().flatMap(voidRespon
private Observable<Segment> executeUploadVideoUseCase(Segment segment) {
LogDnaLogger.info("Segment upload: " + segment.toString());
return mUploadVideoUseCase.execute().flatMap(voidResponse -> {
LogDnaLogger.info("Segment upload success : " + segment.toString());
return Observable.just(segment);
});
}
mUploadVideoUseCase.execute() is returning
Observable<Response<Void>>.
private observeable executeUploadVideoUseCase(段){
LogDnaLogger.info(“段上传:+Segment.toString());
返回mUploadVideoUseCase.execute().flatMap(voidResponse->{
LogDnaLogger.info(“段上传成功:+Segment.toString());
可观察的返回。仅(段);
});
}
mUploadVideoUseCase.execute()正在返回
可见的。
我来段上传成功日志,即使有400个坏请求例外
在这里,我如何处理400个错误请求并将该异常传递给调用函数?当您将接口声明为“可观察的”成功,HTTP错误在
onNext
中传递,并且只有在网络错误的情况下发生IO异常时才会调用onError
您可以使用Response.issucess()
检查这是成功的调用还是HTTP错误
来自以下方面的其他备选声明:
可观察的
,可流动的
支持三种配置,
单个
,可完成
和可能
类型参数:
- 直接主体(例如,
)使用反序列化主体调用Observable
对于2XX响应和调用onNext
和onError
非2XX响应和HttpException
网络错误IOException
- 响应包装体(例如,
)调用Observable
使用onNext
对象,用于所有HTTP响应和调用Response
withonError
网络错误IOException
- 结果包装体(例如,
)使用Observable
对象,用于所有HTTP响应和错误Result