gpt4 book ai didi

android - RxJava : catch exception properly

转载 作者:行者123 更新时间:2023-11-29 19:01:42 24 4
gpt4 key购买 nike

我试图在 Schedulers IO 线程中执行一些 IO 操作,如果抛出异常,我想向用户显示一些 Toast。

为此,我使用以下代码:

Observable.interval(0, 15, TimeUnit.SECONDS)
.observeOn(Schedulers.io())
.doOnNext(event -> new Repository().inputOutput(MainActivity.this);)
.observeOn(AndroidSchedulers.mainThread())
.doOnError(throwable ->
Toast.makeText(MainActivity.this, "Error message", Toast.LENGTH_SHORT).show())
.subscribe();

当方法“inputOutput”抛出异常时,我希望 Throwable 被“doOnError”消费者捕获,但它并没有发生,异常被抛给周围的代码。

我做错了什么?非常感谢!

最佳答案

应该是这样的:

Observable.interval(0, 15, TimeUnit.SECONDS)
.flatMap(event -> new Repository().inputOutput(MainActivity.this);)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({your onNext/onComplete handler}, throwable ->
Toast.makeText(MainActivity.this, "Error message", Toast.LENGTH_SHORT).show()));

关于android - RxJava : catch exception properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48850153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com