2012-05-16 88 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

相關問題