Rxjava是一种Java语言实现的响应式编程,是创建基于事件的异步程序,是以数据流为核心,处理数据的输入,处理以及输出的。本节将要分享RxJava2 一些异常处理方面的经验:
- 当出现异常时,通过 onErrorReturn* 转换成一个正常值返回
- 当出现异常时,通过 onErrorResumeNext 自定义一个Publisher返回,意味着可以转换一个异常类型;
- 异常可以被转换,但源数据发射终止
- Flowable、map抛出异常,但数据继续发射
- 最好不要显式catch 编译异常,RxJava2 已经支持所有函数接口抛出Exception
- 需要出错重试, RxJava2 提供了retry以及相关的多个操作,提供出错后重新发射数据功能
上面总结了RxJava2 异常上的一些经验,你的代码都是这样用的吗?