使用RxJava对服务器返回的数据进行统一处理的时候有两种办法,当然,其实原理都是类似,只不过一个用compose(其实还是flatmap),另一个用map操作符。两种办法具体例子参考:
http://www.jianshu.com/p/f3f0eccbcd6f 关键词(封装 处理服务器返回数据)
http://gank.io/post/56e80c2c677659311bed9841(关键词HttpResultFunc)
测试是没有问题的,在开发过程中log也没有发现异常(关键点来了,因为正常情况log级别都是看error,不看warning的)
今天在看bugly的时候发现了这么问题
rx.exceptions.OnErrorThrowable$OnNextValue
定位问题一看是因为采用了第二种办法的原因,在Func里throw异常是会报错的(warning级别的错误,不会造成app crash,但bugly会收集)
所以修改成了第一种办法,即在Func里返回Observable.error而不是直接throw异常。