Java 为什么我会得到“一个”;标记上的语法错误,构造错误”;供应商的错误?

Java 为什么我会得到“一个”;标记上的语法错误,构造错误”;供应商的错误?,java,exception,java-8,try-catch,supplier,Java,Exception,Java 8,Try Catch,Supplier,我通过以下代码获得错误: private Supplier<ProfileData > expectedValidProfileData = () -> { try { ProfileData profileData = new ProfileData (); return profileData ; } catch (Exception ex) { } return null; }; 私人供应商期望ValidP

我通过以下代码获得错误:

private Supplier<ProfileData > expectedValidProfileData = () -> {
    try {
        ProfileData profileData = new ProfileData ();
        return profileData ;
    } catch (Exception ex) {
    }
    return null;
};
私人供应商期望ValidProfileData=()->{
试一试{
ProfileData ProfileData=新的ProfileData();
返回数据;
}捕获(例外情况除外){
}
返回null;
};
我不知道为什么,因为如果我直接从另一个不存在错误的文件复制代码


我注意到,如果删除catch部分中的try-catch语句,就不会出现错误(根据需要异常),这就是为什么它在没有try-catch块的情况下工作的原因

private Supplier<ProfileData > expectedValidProfileData = () -> {
    try {
        ProfileData profileData = new ProfileData ();
        return profileData ;
    } catch (Exception ex) {
         //add return statement here
         return null;
    }
};
私人供应商期望ValidProfileData=()->{
试一试{
ProfileData ProfileData=新的ProfileData();
返回数据;
}捕获(例外情况除外){
//在此处添加返回语句
返回null;
}
};

如果出现异常,您不会返回任何内容。看起来您无法处理异常。只是别抓住它。或者,如果必须,将其作为RuntimeException重新播放。您真的需要尝试捕获吗?@PulseSetheFox如果存在未经处理的检查异常,lambda将不会编译…向catch块添加return语句并不能解决问题,也不能解决问题。我复制的代码在catch块中没有return语句,也没有抛出errorHello@klippy,在添加return语句后,您是否面临相同的错误或存在新的错误,您复制的地方可能还有其他情况,@如果您试图修复语义错误,但问题是关于语法错误(位置未知),请确保为其他方法添加了return语句。