2015-09-28 25 views
0

我的代碼目前被設置爲擁有3個類文件main和tradeShip。 tradeShip已收到另一個班級文件playerShip。在tradeShip代碼中,我需要將playerShip發送回main。代碼如下:從一個類發送一個類到主類

public class tradeShip() { 
    public void sell(playerShip player) { 
    //unimportant code 
    main.saveGame(player); 
    } 
} 


public class main() { 
    public void saveGame (playerShip player) throws IOException { 
    //code that deals with writing to text files 
    } 
} 

然而這給了我一個main.saveGame(player)的錯誤;它說:「未報告的異常IOException;必須被捕獲或聲明爲拋出」

我不知道到底發生了什麼事情,任何幫助將不勝感激!

+2

首先,擺脫()你的類聲明 – djb

+0

你需要閱讀檢查異常。 –

+0

這不能是你的實際代碼......類的聲明中沒有括號。至於你的實際問題,你的'saveGame'方法聲明它可以拋出'IOException'。因爲這是一個檢查異常,無論你調用'saveGame'需要*提供一個try-catch塊來處理錯誤,或者還需要聲明它在方法簽名中引發同樣的異常。 – JonK

回答

0

SAVEGAME拋出ecxeption(錯誤) 你必須趕上和處理它:

try { 
    main.saveGame(player); // throw exception 
} catch (IOException e) { 
    //some error processing 
    e.printStackTrace(); 
} 

或申報賣出拋出太趕,並在上級

public void sell(playerShip player) throws IOException { 
0

在這個過程中saveGame方法的簽名是拋出一個在該方法的主體中沒有引發的IOException。所以也許你必須刪除它,因爲你可能已經在任何catch子句中管理它。

此外,只是澄清...所有的類名都必須大寫(這是Java編程的一個很好的規則),你所談論的方法沒有收到Java類,而只是一個實例該對象類型。

相關問題