2012-05-16 53 views
0

我想实现从HighestScoreFile.java一个class,当我编译,我得到这个错误:如何把`抛出IOException`的声明

...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,我有一个测试使用

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

HighestScoreFile.javamain类用于将数据保存到一个Highest.txt

但是,当我执行到另一个.java使用下面的代码,它显示了错误。

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

我该如何解决这个问题?

回答

2

你需要或者抛出异常的外侧包围它方法:

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

或乘坐EXCETION:

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

我建议你遵循Java exception trail

+0

+1提供示例 –

+0

谢谢。我忘了'try..catch'方法。我现在使用它。 – Chin

0

您需要添加throws IOExceptionHighestScoreFile

0

你的代码尝试声明抛出另一个错误,而不是IOException异常,而你没有抓住它。

0

错误消息说,这一切:调用的方法可能抛出IOException,这必须捕获或声明抛出

因此,要么将呼叫包装在try-catch区块中,要么声明呼叫方法throws IOException也是如此。

+0

谢谢。我使用'try..catch'方法,它工作正常。 – Chin

0

你必须要么声明以外,与你的方法(抛出IOException异常在新的Java文件的方法),引发或通过try/catch块

+0

文件'HighestScoreFile.java'中的方法,我已经把'throws IOException',但它也需要在实现的文件中抛出IOException异常。 – Chin

相关问题