Java 另一个语法错误,请插入“AssignmentOperator表达式”以完成表达式

Java 另一个语法错误,请插入“AssignmentOperator表达式”以完成表达式,java,exception,file-handling,Java,Exception,File Handling,这个错误在互联网上随处可见,但没有一个解释能解释任何事情,也不能解决我的问题 public Properties getProperties(String propertiesFileName) { Properties prop; prop = new Properties(); InputStream in = new FileInputStream(propertiesFileName); prop.load(in); in.close();

这个错误在互联网上随处可见,但没有一个解释能解释任何事情,也不能解决我的问题

public Properties getProperties(String propertiesFileName)
{
    Properties prop;
    prop = new Properties();
    InputStream in = new FileInputStream(propertiesFileName);
    prop.load(in);
    in.close();
    return prop;
    IOException localIOException;
    localIOException; //THIS LINE THROWS THE ERROR
    localIOException.printStackTrace();
    return null;
}
表示局部异常的行;是错误的原因。请告诉我如何解决这个问题和/或为什么会发生这种情况。谢谢

编辑:

看看这三行:

IOException localIOException;
localIOException;
localIOException.printStackTrace();

如果我去掉中间的那条线,我会发现到处都是错误。出于某些原因,我不理解中间线必须存在,但这是导致我出错的原因。

Java语言规范禁止与它认为的表达式不一致的行。您不需要调用对象上的方法或将其分配给变量,这是编译器告诉您的。

这是有效的:

public Properties getProperties(String propertiesFileName)
{
    try {
        Properties prop;
        prop = new Properties();
        InputStream in = new FileInputStream(propertiesFileName);
        prop.load(in);
        in.close();
        return prop;
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        return null;
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

如果您正在访问文件,并且希望使用java异常检查可能的错误,则应该使用try/catch块:

对于您的代码:

public Properties getProperties(String propertiesFileName)
{
    Properties prop;
    prop = new Properties();

    try
    {
        InputStream in = new FileInputStream(propertiesFileName);
        prop.load(in);
        in.close();
        return prop;
    }
    catch (IOException localIOException)
    {
        localIOException.printStackTrace();
        return null;
    }
}
您正在编写的代码相当于:

int x;     // IOException localIOException;
x;         // localIOException; //THIS LINE THROWS THE ERROR

这就是错误的意思,变量名称本身不是Java的表达式。

您认为该行应该做什么?通过删除该行来修复它:无法访问的代码必须是错误。。。此代码不可编译。它绝对不可编译。您可能误解了您正在执行的操作。没有经过Java认证的编译器能够正确编译此代码。这不是答案解决方案。你只是在指出显而易见的事实。如果您不想被否决,请删除此内容并发布解决方案。谢谢。解决方法是删除该行,并用方法调用或赋值替换它。这里的编译器错误相当简单。你有一个可以工作的例子吗?答案是解决问题的解决方案。汤姆·G没有那样做。我刚刚发布的答案解决了这个问题,因此我将接受这个答案。我无法神奇地推断出您是如何生成不可编译源代码的,也无法洞察您对代码片段的最终目标。我假设此时您反编译了一个JAR或其他东西来生成所示的代码段。您要求解释,但多人提供了解释。问题是编译器看到localIOException;作为优先级高于未处理异常的错误。