1

我正在尝试实现一个classfrom HighestScoreFile.java,当我编译时,我收到了这个错误:

...MemoryGame.java:211: error: unreported exception IOException; must be caught or declared to be thrown
                    HighestScoreFile.HighestScoreFile(input, hours, minutes, seconds, click);
                                                     ^
1 error

在我实现这个之前HighestScoreFile.java,我已经使用一个main类进行了测试

public static void main(String[] args) throws IOException
    {
        HighestScoreFile("abcdefg", 12, 13, 14, 30);
    }

用于将HighestScoreFile.java数据保存到Highest.txt.

但是当我使用下面的代码实现另一个时.java,它会显示该错误。

HighestScoreFile.HighestScoreFile(input, hours, minutes, seconds, click);

我该如何解决这个问题?

4

5 回答 5

3

您需要在方法之外抛出异常:

public void someMethod() throws IOException
{
    // ...
    HighestScoreFile.HighestScoreFile(input, hours, minutes, seconds, click);
    // ..
}

或赶上异常:

try 
{
    HighestScoreFile.HighestScoreFile(input, hours, minutes, seconds, click);
}
catch (IOException ex)
{
    // handle the exception
}

我建议您遵循Java 异常线索

于 2012-05-16T12:44:40.040 回答
0

您需要throws IOException在声明中添加HighestScoreFile

于 2012-05-16T12:41:53.050 回答
0

您的代码尝试抛出另一个错误而不是 IOException,但您没有捕获它。

于 2012-05-16T12:42:24.647 回答
0

错误消息说明了一切:被调用的方法可能会抛出一个IOException必须被捕获或声明为抛出

因此,要么将调用包装在一个try-catch块中,要么也声明调用者方法throws IOException

于 2012-05-16T12:43:02.073 回答
0

您必须将异常声明为在您的方法中抛出(在新 java 文件的方法中抛出 IOException)或用 try / catch 块包围它

于 2012-05-16T12:43:28.327 回答