RxJava中runtime exception为什么没有崩溃
- RxJava链式调用异步请求map变换操作符给大家实现android MVP结构的组织带来了极大的便利。
优美的代码,让复杂的业务逻辑清晰明了,同时也方便了代码的跟踪、问题的定位。
当我们在业务实现中出现业务异常的时候,app并没有崩溃,但是我们的后续业务执行却没有体现在界面上。
这个时候非常难定位问题的根源在哪里,因为我们的logcat也并没有输出明显的ERROR日志
具体问题看下面的代码截图就能一幕了然
- 描述问题:当我们在进行业务请求的时候会在onNext()中去出来拿到的response数据,那么如果我们在处理过程中出现了nullPoint Exception,RXjava会帮我们catch住运行时异常注意了:坑就在这里,catch住以后就会回调onError()方法。
- 通常我们在onError()中最多是打印控制台日志,或者打出exception的堆栈信息,但是程序并没有崩溃,也不会有崩溃日志持久化输出。
- 定位问题就会很难