如何在项目反应器中使用 StepVerifier 验证抛出的异常

How to verify exception thrown using StepVerifier in project reactor

    def expectError() {

        StepVerifier.create(readDB())
                    .expectError(RuntimeException.class)
                    .verify();
    }

     private Mono<String> readDB() {
//        try {
            return Mono.just(externalService.get())
                    .onErrorResume(throwable -> Mono.error(throwable));

//        } catch (Exception e) {
//            return Mono.error(e);
//        }
    }

如果 externalService.get 抛出异常而不是 return Mono.error,则无法使其工作。总是建议使用 try catch 转换为 Mono/Flow 还是有更好的方法来验证此类抛出的异常?

大多数时候,如果用户提供的抛出异常的代码作为 lambda 提供,则异常可以转换为 onError。但是在这里你直接扔进主线程,所以不会发生