【发布时间】:2020-09-28 10:53:06
【问题描述】:
Flux.<Integer>push(sink -> {
try {
for (int i = 0; i < 10 && !sink.isCancelled(); i++) {
sink.next(i);
}
sink.complete();
} catch (Exception e) {
System.out.println("Error in wrong place " + e);
}
})
.doOnNext(i -> { if (i % 5 == 0) throw new RuntimeException("Error"); })
.subscribe(i -> System.out.println("i = " + i));
这段代码的输出是
`Error in wrong place reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.RuntimeException: Error`
表示sink.next(i);在 push 方法中重新抛出异常,而不是推送到错误反应通道。为什么?
【问题讨论】:
标签: reactive-programming project-reactor