- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 flowable 中抛出了两个异常,并使用 onErrorReturn
来捕获这些异常。但我发现只捕获了第一个异常。如何捕获所有异常?
Flowable.create(emitter -> {
emitter.onError(new Exception("error1"));
emitter.onError(new Exception("error2"));
}, BackpressureStrategy.MISSING)
.onErrorReturn(e -> {
System.out.println("Got error " + e.getMessage());
return "error";
})
.subscribe();
输出:
Got error error1
io.reactivex.exceptions.UndeliverableException: java.lang.Exception: error2
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:349)
at io.reactivex.internal.operators.flowable.FlowableCreate$BaseEmitter.onError(FlowableCreate.java:271)
at com.example.springboottest.SimpleApplication.lambda$main$0(SimpleApplication.java:48)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:72)
at io.reactivex.Flowable.subscribe(Flowable.java:13094)
at io.reactivex.internal.operators.flowable.FlowableOnErrorReturn.subscribeActual(FlowableOnErrorReturn.java:33)
at io.reactivex.Flowable.subscribe(Flowable.java:13094)
at io.reactivex.Flowable.subscribe(Flowable.java:13030)
at io.reactivex.Flowable.subscribe(Flowable.java:12890)
at com.example.springboottest.SimpleApplication.main(SimpleApplication.java:54)
Caused by: java.lang.Exception: error2
... 8 more
Exception in thread "main" io.reactivex.exceptions.UndeliverableException: java.lang.Exception: error2
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:349)
at io.reactivex.internal.operators.flowable.FlowableCreate$BaseEmitter.onError(FlowableCreate.java:271)
at com.example.springboottest.SimpleApplication.lambda$main$0(SimpleApplication.java:48)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:72)
at io.reactivex.Flowable.subscribe(Flowable.java:13094)
at io.reactivex.internal.operators.flowable.FlowableOnErrorReturn.subscribeActual(FlowableOnErrorReturn.java:33)
at io.reactivex.Flowable.subscribe(Flowable.java:13094)
at io.reactivex.Flowable.subscribe(Flowable.java:13030)
at io.reactivex.Flowable.subscribe(Flowable.java:12890)
at com.example.springboottest.SimpleApplication.main(SimpleApplication.java:54)
Caused by: java.lang.Exception: error2
... 8 more
最佳答案
Observable
在完成或遇到错误后结束。这是契约(Contract)的一部分,没有办法绕过该属性。
处理可观察对象中的“多个”异常的唯一方法是将其像值一样处理,而不是异常。这最终看起来像 Scala's Either
construct在实践中。
关于java - RxJava2 中的 onErrorReturn 仅捕获第一个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49897284/
我有 public Single getPayment(Identity identity, String id) { return client.getPayment(identity, i
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
我有以下代码: public Single doSomething(Post post) { String endPoint = "some-url"; JsonObject payl
我在 flowable 中抛出了两个异常,并使用 onErrorReturn 来捕获这些异常。但我发现只捕获了第一个异常。如何捕获所有异常? Flowable.create(emitter -> {
我做了这些单元测试,结果根本不是我预期的: // This one outputs "subscribe.onError" @Test public void observable_doOnError
这是代码: import io.reactivex.Observable; import io.reactivex.Observer; import org.junit.jupiter.api.Tes
当我编写不同的 RxJava 运算符时,我遇到了转换问题, 这是我的方法: public Single> doWork() { return calculate() // .map(...
当我从 MainViewModel 调用 Retrofit 方法 GetTodoRepository.fetchTodo() 并且调用以失败或任何非成功结果结束时,我想让 RxJava两者都执行 on
我是一名优秀的程序员,十分优秀!