当前位置:   article > 正文

io.reactivex.exceptions.UndeliverableException_io.reactivex.exceptions.undeliverableexception: ja

io.reactivex.exceptions.undeliverableexception: java.lang.noclassdeffounderr

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}));
        }
    }

}


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/300819
推荐阅读
相关标签
  

闽ICP备14008679号