在lambda中抛出异常 - java 8

时间:2017-12-27 10:10:07

标签: java lambda java-8

我正在使用lambda表达式。相当于这个:

for (Integer id: ids) {
    if (!repository.exists(id)) {
        throw new Exception .....
    }
}

我试过用这个:

ids.stream().filter(id-> repository.exists(idStatut)).findAny().orElseThrow(() ->
                new Exception...
            );

但它效果不好

1 个答案:

答案 0 :(得分:5)

根据您的原始循环,如果Integer中的任何一个未通过过滤器,您希望抛出异常:

if (ids.stream().anyMatch(id -> !repository.exists(id)))
    throw new Exception ...