在 Flux 中验证和抛出异常不起作用

Validation and throwing an exception inside a Flux is not working

我正在尝试使用 try catch 中的 reactor.core.publisher.Flux 来验证 list 的值,但是当 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 似乎不起作用,我看不出有什么问题。

您需要在流的末尾应用终端操作。流被延迟评估。