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抛出Exception而不是返回Mono.error,则无法使其工作。总是建议使用try catch转换为Mono / Flow还是有更好的方法来验证此类抛出的异常?
答案 0 :(得分:1)
在大多数情况下,如果将用户提供的引发异常的代码作为lambda提供,则可以将异常转换为onError
。但是在这里,您直接抛出主线程,这样就不会发生