我试图验证 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
似乎不起作用,我看不出有什么问题。
1条答案
按热度按时间ua4mk5z41#
您需要在流的末尾应用一个终端操作。流的评估是惰性的。