在 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
似乎不起作用,我看不出有什么问题。
您需要在流的末尾应用终端操作。流被延迟评估。
我正在尝试使用 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
似乎不起作用,我看不出有什么问题。
您需要在流的末尾应用终端操作。流被延迟评估。