在orElseThrow中执行多行

问题描述 投票:0回答:1

我有以下代码块,如果找不到用户,它会抛出异常。另一方面,除了抛出异常之外,我还想在找不到用户时调用一个方法。那么,我可以通过添加另一个

.orElseThrow
等来调用它,还是应该在标准 if 条件下转换此块?

final User user = userRepository.findByUsername(request.getUsername())
                .orElseThrow(InvalidCredentialsException::new);
java spring spring-boot exception option-type
1个回答
15
投票

只要喜欢就好:

final User user = userRepository.findByUsername(request.getUsername())
                .orElseThrow(() -> {
                                System.out.println("multiple lines");
                                return new InvalidCredentialsException();
                                });
© www.soinside.com 2019 - 2024. All rights reserved.