赞
踩
rxjava使用时候会出现这个问题,原因是rxjava未处理个异常,其中可能的一个原因是rxjava已经取消订阅了,但是请求线程还在执行,执行中抛出异常,就会导致这种问题。给出相关源码(
rxjava: 'io.reactivex.rxjava2:rxjava:2.1.5'):
类LambdaObserver部分代码如下如下:
public void onNext(T t) { if(!this.isDisposed()) { try { this.onNext.accept(t); } catch (Throwable var3) { Exceptions.throwIfFatal(var3); ((Disposable)this.get()).dispose(); this.onError(var3); } } } public void onError(Throwable t) { if(!this.isDisposed()) { this.lazySet(DisposableHelper.DISPOSED); try { this.onError.accept(t); } catch (Throwable var3) { Exceptions.throwIfFatal(var3); RxJavaPlugins.onError(new CompositeException(new Throwable[]{t, var3})); } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。