从 class 发送 class 到主 class
Sending a class to the main class from a class
我的代码当前设置为有 3 个 class 文件,main 和 tradeShip。 tradeShip 收到了另一个 class 文件,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) 处给了我一个错误;它说 "unreported exception IOException; must be caught or declared to be thrown"
我不确定到底发生了什么,任何帮助将不胜感激!
保存游戏抛出异常(和错误)
你必须捕获并处理它:
try {
main.saveGame(player); // throw exception
} catch (IOException e) {
//some error processing
e.printStackTrace();
}
或者声明 sell 也将其抛出以在上层捕获并处理它
public void sell(playerShip player) throws IOException {
在 saveGame 方法的签名中,您抛出了一个 IOException,该方法的主体中并未引发该异常。所以也许你必须删除它,因为你可能已经在任何 catch 子句中管理它。
此外,只是为了澄清...所有 class 名称都必须大写(这是 java 编程的良好规则之一)并且您正在谈论的方法不需要收到 java class 但只是该对象类型的一个实例。
我的代码当前设置为有 3 个 class 文件,main 和 tradeShip。 tradeShip 收到了另一个 class 文件,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) 处给了我一个错误;它说 "unreported exception IOException; must be caught or declared to be thrown"
我不确定到底发生了什么,任何帮助将不胜感激!
保存游戏抛出异常(和错误) 你必须捕获并处理它:
try {
main.saveGame(player); // throw exception
} catch (IOException e) {
//some error processing
e.printStackTrace();
}
或者声明 sell 也将其抛出以在上层捕获并处理它
public void sell(playerShip player) throws IOException {
在 saveGame 方法的签名中,您抛出了一个 IOException,该方法的主体中并未引发该异常。所以也许你必须删除它,因为你可能已经在任何 catch 子句中管理它。
此外,只是为了澄清...所有 class 名称都必须大写(这是 java 编程的良好规则之一)并且您正在谈论的方法不需要收到 java class 但只是该对象类型的一个实例。