为了账号安全,请及时绑定邮箱和手机立即绑定

何时在Java中调用System.Exit

何时在Java中调用System.Exit

绝地无双 2019-07-26 13:14:08
何时在Java中调用System.Exit在Java中,有或没有什么区别System.exit(0)在下面的代码中?public class TestExit{           public static void main(String[] args)     {          System.out.println("hello world");         System.exit(0);  // is it necessary? And when it must be called?      }      }这个文件说:“这个方法永远不会正常返回。”什么意思?
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

在这种情况下,它是不必要的。不会启动额外的线程,您不会更改退出代码(默认为0)-基本上是没有意义的。

当文档说该方法永远不会正常返回时,这意味着后面的代码行是有效无法访问,即使编译器不知道:

System.exit(0);System.out.println("This line will never be reached");

要么抛出异常,要么在返回之前终止VM。它永远不会“回来”。

很少有人值得打电话System.exit()IME。如果您正在编写命令行工具,并且希望通过退出代码来指示错误,而不是仅仅抛出异常,则这是有意义的.但我不记得上一次在正常的生产代码中使用它是什么时候了。



查看完整回答
反对 回复 2019-07-27
?
慕标5832272

TA贡献1966条经验 获得超4个赞

该方法永远不会返回,因为它是世界末日,下一个代码都不会执行。

在您的示例中,您的应用程序无论如何都会在代码中的同一位置退出,但是,如果您使用System.Exit的话。您可以选择将自定义代码返回到环境中,例如

System.exit(42);

谁将使用您的退出代码?调用应用程序的脚本。在Windows、Unix和所有其他可编写脚本的环境中工作。

为什么要返回密码?说“我没有成功”之类的话,“数据库没有回答”。

要了解如何获取退出代码的值并在unix shell脚本或windows cmd脚本中使用,您可以检查这个网站上的答案



查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 393 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号