我有以下代码块,如果找不到用户就抛出异常。另一方面,除了抛出异常之外,我还想在找不到user时调用一个方法。那么,我是否可以通过添加另一个.orElseThrow
等来调用它,或者我是否应该将这个块转换为标准if条件?
final User user = userRepository.findByUsername(request.getUsername())
.orElseThrow(InvalidCredentialsException::new);
就这样做吧:
final User user = userRepository.findByUsername(request.getUsername())
.orElseThrow(() -> {
System.out.println("multiple lines");
return new InvalidCredentialsException();
});