java验证和在通量中抛出异常是行不通的

9w11ddsr  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(339)

我试图验证 list 使用 reactor.core.publisher.Flux 内部 try catch ,但是什么时候 map 抛出异常 catch 一点也不明白。我真的不明白这里发生了什么。如果能帮上点忙,我将不胜感激。
这正是我想做的:

public Flux<Something> execute(final List<Line> lines) {
        try {
          return this.getFlux(lines)
              .map(line -> this.validateLine(line))//this throws my custom exception if the condition applies
              .map(line -> this.doSomething(line))
              .map(line -> this.doSomethingElse(line));

        } catch (myCustomException e) {
            return something;
        }
  }

我能看到 validate 方法运行良好,通过调试抛出异常,但 catch 似乎不起作用,我看不出有什么问题。

ua4mk5z4

ua4mk5z41#

您需要在流的末尾应用一个终端操作。流的评估是惰性的。

相关问题