在 orElseThrow 中执行多行

2 java spring exception stream spring-boot

我有以下代码块,如果找不到用户,它会引发异常。另一方面,除了抛出异常之外,我还想在找不到用户时调用一个方法。那么,我可以通过添加另一个.orElseThrow等来调用它,还是应该在标准 if 条件下转换这个块?

final User user = userRepository.findByUsername(request.getUsername())
                .orElseThrow(InvalidCredentialsException::new);
Run Code Online (Sandbox Code Playgroud)

Ива*_*ков 15

只要喜欢就好:

final User user = userRepository.findByUsername(request.getUsername())
                .orElseThrow(() -> {
                                System.out.println("multiple lines");
                                return new InvalidCredentialsException();
                                });
Run Code Online (Sandbox Code Playgroud)