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 Exception Trailに従うことをお勧めします。

于 2012-05-16T12:44:40.040 に答える
0

メソッドでスローされる例外を宣言する (新しい Java ファイルのメソッドで IOException をスローする) か、try / catch ブロックで囲む必要があります。

于 2012-05-16T12:43:28.327 に答える
0

throws IOExceptionの宣言に追加する必要がありますHighestScoreFile

于 2012-05-16T12:41:53.050 に答える
0

コードで IOException ではなく別のエラーをスローしようとしましたが、それをキャッチできませんでした。

于 2012-05-16T12:42:24.647 に答える
0

エラー メッセージがすべてを示しています。呼び出されたメソッドは をスローする可能性がありIOException、これをキャッチするか、 throw するように宣言する必要があります

したがって、呼び出しをtry-catchブロックでラップするか、呼び出し元メソッドも宣言しthrows IOExceptionます。

于 2012-05-16T12:43:02.073 に答える