如何在Java中的try catch语句中结束程序?

时间:2014-01-27 17:23:18

标签: java

我已经问了一个关于如何弹出消息并说“请输入数字输入”的问题,但它应该结束该程序。不要崩溃,但结束程序然后你必须重新运行它。

`    try 
 {
     number = in.nextInt();

       if(number >= 8) 
       { 
       number = 8; 
       }
       else if (number <= 0)
       {
       number = 0;
       }
   } 
   catch (InputMismatchException exc) 

   {
       System.out.println("Program requires NUMBER input");

   }

`

我试过做“休息”;在捕获(我猜想实验),它没有用。


更新:谢谢大家,我尝试在之前的项目中返回它并没有用。但它在这里工作,所以再次感谢你!

6 个答案:

答案 0 :(得分:3)

使用return声明。这应该结束方法。 System.exit(0)是另一种选择。但是,使用System.exit(0)时必须谨慎,因为:

  

System.exit方法强制终止Java中的所有线程   虚拟机。这是激烈的.... System.exit应该保留   一个灾难性的错误退出,或者程序的用途   在命令脚本中用作可能取决于程序的实用程序   退出代码。

来源:Use System.exit with care

答案 1 :(得分:1)

使用System.exit();

   try{
   ...
   } 
   catch (InputMismatchException exc) 

   {
       System.out.println("Program requires NUMBER input");
       System.exit(1);

   }

如果您使用的是main功能,则可以return;

答案 2 :(得分:1)

使用return;,另请阅读What does the return keyword do in a void method in Java?

public static void main(String[] args) {

    return; // END OF PROGRAM :)
}

Returning a Value from a Method

  

return语句可用于分支出控制流程块,退出方法

答案 3 :(得分:1)

你可以使用简单的回报;在catch块的末尾而不是System.exit(),它将终止jvm。

答案 4 :(得分:0)

如果您确定要终止程序,则只需执行

System.out.println("Program requires NUMBER input");
System.exit(1); // <-- non-zero to indicate an error.

答案 5 :(得分:0)

如果您使用的是main方法,请执行return;,否则您可以执行以下操作: System.exit(1);