Java onErrorMap与onErrorContinue

Java onErrorMap与onErrorContinue,java,spring-webflux,project-reactor,Java,Spring Webflux,Project Reactor,我正在学习使用Flux/Mono进行错误处理,并遇到以下问题: Flux.just("AAA", "BBB", "AAA", "CCC") .map(s -> { if (s.equals("AAA")) { throw new IllegalArgumentException(); } return s;

我正在学习使用Flux/Mono进行错误处理,并遇到以下问题:

Flux.just("AAA", "BBB", "AAA", "CCC")
    .map(s -> {
        if (s.equals("AAA")) {
            throw new IllegalArgumentException();
        }
        return s;
    })
    .map(s -> s + "-LOL")
    .onErrorMap(IllegalArgumentException.class, cause -> new IllegalStateException())
    .onErrorContinue(IllegalArgumentException.class, (e, a) -> System.out.println("Found IllegalArgumentException" + e))
    .onErrorContinue(IllegalStateException.class, (e, a) -> System.out.println("Found IllegalStateException" + e))
    .collectList()
    .block();
我试图做的是将一个错误异常映射到另一个异常,然后我想以一种特定的方式处理它


在我的代码中,我看到,
OneRorContinue
仅为
IllegalArgumentException
触发,但我不明白为什么-我刚刚将错误映射到了
IllegalStateException

如果您从反应式编程开始,我敦促您避免
OneRorContinue
。 这是一个误导性很强的操作员,适用于掌握操作员内部工作原理的高级用户。我很遗憾每次提到它时都会添加一个,我正在考虑对公共API隐藏一点,因为它太容易被假定为像
onErrorResume
那样简单


考虑一下
onErrorReturn
onErrorResume
doError
subscribe(valueHandler,error->doSomethingWithError(error))

事实上,我在阅读后使用了
onErrorResume
,它在我的案例中运行良好。我留下这个问题是为了至少对这个具体案例有一个正确的答案,但感谢您的评论:)