当前位置: 首页 > 知识库问答 >
问题:

如何停止Java catch块执行[duplicate]

滕璞瑜
2023-03-14

这是我的一部分代码。好吧,我的问题是,当我输入错误的值时,如何跳过catch块?例如,正如你们所看到的,我需要坐标为双精度或浮点,但当我输入字符串时,它在循环时开始无限大。在用户输入正确的值之前,如何防止它并使程序从头开始?


   main_loop:
        while (true) {
            int i = 3;
            System.out.println("Attemts left: " + i);
            loop_label:
            while (true) {
                try {
                    temp_coords.setX(temp_scn.nextDouble());
                    temp_coords.setY(temp_scn.nextFloat());
                    break main_loop;
                } catch (Exception e) {
                    System.out.println("wrong format!");
                } finally {
                    break loop_label;
                }
            }
            i--;
            if(i == 0){
                break;
            }
        }

这是我的代码,没有循环和标签。在正确的数据输入之前,我如何才能使代码工作

try {
            temp_coords.setX(temp_scn.nextDouble());
            temp_coords.setY(temp_scn.nextFloat());
        } catch (Exception e) {
            System.out.println("wrong format!");
        }

共有1个答案

陈实
2023-03-14
break loop_label

应该在catch块中。不要使用finally,因为即使没有抛出错误,它里面的代码也会运行。

正如安迪所说,我似乎永远都不会等于0

 类似资料:
  • 问题内容: 我使用以下代码在Python中启动并关闭 在脚本结束执行后,我仍然在Mac活动监视器中找到的实例。实际上,每次我运行脚本时,都会创建一个新进程。 我应该如何关闭驱动程序? 问题答案: 不保证该方法释放与驱动程序实例关联的所有资源。请注意,这些资源包括但不限于驱动程序可执行文件(在这种情况下为PhantomJS)。该方法旨在释放驱动程序的所有资源,包括退出可执行进程。

  • 我通过创建固定数量的线程来使用执行器服务来进行HTTP GET数据检索。 当Tomcat停止时,我们会出现以下错误: 严重:web应用程序[/viewer]似乎已启动名为[ThreadExecutor_51616156]的线程,但未能停止该线程。这很可能会造成内存泄漏。 这是真的吗?在没有这些服务错误的情况下,如何正确停止tomcat。

  • 我有一个父pom,它为我的其他组件提供所需的版本号变量 您必须使用分类器将补充工件附加到项目中,而不是替换它们 我发现这是因为jar打包固有的maven jar插件默认绑定,但我正在进行war打包,所以在war打包之后,默认jar执行开始并抛出上面的一个。任何停止违约的解决方案都将帮助我提前感谢。

  • 问题内容: 我有以下代码: 在发生某些事件之后,我应该停止在的方法中声明的操作,该方法实现。 我怎样才能做到这一点?我无法关闭执行器,只能撤消我的定期任务。我可以用吗?如果可以的话,请告诉我它将如何工作。 问题答案: 使用。该是你的任务的处理。您需要取消此任务,它将不再执行。 实际上,是签名,并将其与参数一起使用将导致当前正在运行的执行线程被调用中断。如果线程在阻塞的可中断调用(例如)中等待,则会

  • 我使用Drools6.1.0.final和一个无状态会话来激发所有规则。 在我的.drl文件中有以下两个简单的规则。 我想这样做:如果第一个规则为true,则不执行任何其他规则,并从。drl文件退出。 我试着如下: > 试图在第一个规则的Then块中抛出运行时异常,但由于NullPointerException的原因,它仍然会在第二个规则中失败。 添加了drools.halt()和kcontext

  • 问题内容: 该程序在九次打印后完成: 如何停止进程(例如eclipse中的Java进程),因为它在9秒的时间限制后没有停止? 问题答案: 您遇到的问题是,取消哔声任务后,调度程序会保留活动线程。 如果存在活动的非守护程序线程,则JVM保持活动状态。 它使该线程保持不变的原因是您已在此行中告诉它这样做: 请注意以下文档: -即使在空闲状态下要保留在池中的线​​程数。 因此,您有两种可能的方法来导致J