【发布时间】:2011-12-13 14:03:32
【问题描述】:
所以我的教授给我们分配了一个项目,我们必须从文本文件中接收命令并使用它们来驱动程序的流程。这些命令(例如起飞、着陆、装载货物、卸载货物等)旨在模拟类似飞机的物体。
有时执行这些命令没有意义,例如在飞机飞行时装载货物。因此,为了防止类似的事情发生,我们必须在我们自己的异常类中编写代码,即“如果飞机在飞行中被命令装载货物,则抛出 InvalidActionException”
我的问题是:抛出异常后,我如何继续从文本文件中读入命令(看看一旦抛出异常,程序就无法继续前进了
这是我想做的事情的大纲:
Scanner input = new Scanner(new FileInputStream("stuff1.txt"));
while(input.hasNextLine())
{
try
{
//execute commands by reading them using input.nextLine()
}
catch()
{
//catch any exceptions and ignore them... continue to read
//the file for more commands
}
}
如果有任何帮助,我将不胜感激。谢谢。
【问题讨论】:
-
如果你捕捉到异常,那么程序不会突然结束。确保在 catch 语句中指定正确的异常类。
-
只需将要捕获的异常放在catch子句后面的括号之间,您就有了解决方案:catch (InvalidCommandException e) { // ignore }
-
当你知道它是垃圾文件时,你真的要继续处理它吗??