因此,我的教授为我们分配了一个项目,我们必须从文本文件中接收命令并使用它们来驱动程序的流程。这些命令-起飞,着陆,装载货物,卸载货物等-用于模拟飞机状物体。
有时执行这些命令没有意义,例如在飞机飞行中装载货物。因此,为防止发生此类情况,我们必须在自己的异常类中进行编码,即
“如果命令飞机在飞行中装载货物,则抛出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
适当的异常和流程将自动达到while
循环条件。
排除异常后,无需执行其他任何操作即可继续执行该程序。
问题内容: 我的示例代码如下: 我的要求是,在捕获到异常之后,我要处理数组的其余元素。我怎样才能做到这一点? 问题答案: 您的代码应如下所示:
在你可以捕获异常之前,一些代码必须抛出一个异常。任何代码都可能会抛出异常:您的代码,来自其他人编写的包(例如Java平台附带的包)或Java运行时环境的代码。无论是什么引发的异常,它总是通过 throw 语句抛出。 您可能已经注意到,Java平台提供了许多异常类。所有类都是Throwable类的后代,并且都允许程序区分在程序执行期间可能发生的各种类型的异常。 您还可以创建自己的异常类来表示在您编写
抛出异常的行为是否可能抛出不同的异常? 为了抛出异常,必须(可选地)分配新对象,并调用其构造函数(隐式调用fillinstacktrace)。在某些情况下,听起来像addSupressed也被称为。那么如果没有足够的内存会发生什么呢?JVM是否需要预分配内置异常?例如,(1/0)会抛出OutOfMemoryError而不是ArithmeticException吗? 此外,构造函数是一个方法调用,因
问题内容: 我有这段代码。我想回到循环的起点,并再次要求用户输入。但是,它总是循环而不停止请求输入。我的代码有什么问题?谢谢 问题答案: 从http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt%28int%29: “如果翻译成功,则扫描程序将前进经过匹配的输入。” 啊,但是如果翻译是什么 不是 成功的?在这种
问题内容: 我目前正在使用play2框架。 我有几个正在抛出的类,但是play2s全局处理程序使用throwable而不是异常。 例如我的一门课是抛出一个。我是否可以检查可抛物体(如果是)? 问题答案: 您可以使用它来检查它是否存在。 例: 假设是参考。
在我的netty处理程序中,我覆盖了exceptionCaught方法来捕获由netty ObjectDecoder抛出的TooLongFrameException。在出现异常的情况下,我会向服务器发送一条消息,告知该错误的相关信息。服务器收到该消息,然后尝试继续发送更多数据。问题是,我的处理程序似乎没有继续读取数据。 我使用netty 4.1.18最终版 在我捕获到netty ObjectDec