我正在开发一个 Spring webflux 项目,我想了解抛出异常与使用Mono.error()之间的区别。
例如,如果有一个像这样的验证类:
public class NameValidator {
public static boolean isValid(String name) {
if(StringUtils.isEmpty(name)) {throw new RuntimeException("Invalid name");}
return true;
}
}
public class NameValidator2 {
public static Mono<Object> isValid(String name) {
if(StringUtils.isEmpty(name)) {
return Mono.error(new RuntimeException("Invalid name"));}
return Mono.just(true);
}
}
Run Code Online (Sandbox Code Playgroud)
每种方法的优点和缺点是什么。使用 spring webflux 处理反应式流时何时使用其中之一?