如何在不使用OnNext的情况下使用RxJava引发异常

时间:2019-04-08 20:50:11

标签: android kotlin rx-java

我试图在使用RxJava进行虚假下载期间强行引发错误:

 disposable.add(fakeRepo.downloadSomething()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                { a: String -> finished() },
                { b: Throwable? -> showError() }
            ))


fun downloadSomething(): Single<String> {
        return Single.just("")
    }

我只能通过onNext找到解决方案,但是我不想在我的代码中找到它。

我应该怎么做才能调用showError()? 目前,我总是得到finished()

1 个答案:

答案 0 :(得分:1)

只需使用Single.error

http://reactivex.io/RxJava/javadoc/io/reactivex/Single.html#error-java.lang.Throwable-

  

公共静态单个错误(可抛出异常)   返回一个Single,当订阅者订阅时,该Single会调用订阅者的onError方法。