我是靠谱客的博主 潇洒鱼,最近开发中收集的这篇文章主要介绍unreported exception E; must be caught or declared to be thrown,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

         在本地编译java服务的时候,编译报错:未报告的异常错误E; 必须对其进行捕获或声明以便抛出

error: unreported exception E; must be caught or declared to be thrown
E extends Exception declared in method rethrowFunction(Function_WithExceptions)

          看提示报错是在rethrowFunction(Function_WithExceptions)中,这块逻辑是在lambda表达式里处理异常:

List<BigDecimal> deList = list.stream()
.map(LambdaExceptionUtil.rethrowFunction(item -> (BigDecimal) method.invoke(item)))
.collect(Collectors.toList());
public static <T, R, E extends Exception> Function<T, R> rethrowFunction(Function_WithExceptions<T, R, E> function) throws E {
return t -> {
try { return function.apply(t); }
catch (Exception exception) { throwAsUnchecked(exception); return null; }
};
}

        查询资料,没找到具体原因,怀疑和jdk小版本有关系,因为同事稍微高一点的版本没有问题,我本地使用的是jdk1.8.0_60版本,同事的是jdk1.8.0_151版本,又从官网下了1.8.0_731.8.0_181做测试,73版本也不行,但是181版本可以,确定和小版本有关系,怀疑是低版本一个bug,具体原因也没搞明白。

最后有知道的大神欢迎留言解答!

最后

以上就是潇洒鱼为你收集整理的unreported exception E; must be caught or declared to be thrown的全部内容,希望文章能够帮你解决unreported exception E; must be caught or declared to be thrown所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部