java - 在orElseThrow中执行多行

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

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();
                                });

https://stackoverflow.com/questions/68745590/

相关文章:

c++ - 未初始化的引用是否为零初始化和未初始化的标量默认初始化?

android - 无法查询属性 'namespace' 的值

c++ - 从 std `vector` 库创建的 `` 和从 : `STL vec

regex - 如何在 perl regex 替换命令中使用 unicode 字符?

python - 无法让 VS Code 将参数从 launch.json 传递给 Python

javascript - Vue 3 defineEmits 打破了 defineProps 类型

python - 正则表达式:在前瞻断言的最后一场比赛之后直到前瞻断言的第一场比赛之后查找文本

rust - 如何以小写形式显示枚举?

flutter - 如何在 Flutter 的 FutureBuilder 中调用 setState

python - 检查文件夹,如果不存在则创建它