猿问

何时在Java中调用System.Exit

何时在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? 
    }      }

这个文件说:“这个方法永远不会正常返回。”什么意思?



绝地无双
浏览 394回答 3
3回答

largeQ

在这种情况下,它是不必要的。不会启动额外的线程,您不会更改退出代码(默认为0)-基本上是没有意义的。当文档说该方法永远不会正常返回时,这意味着后面的代码行是有效无法访问,即使编译器不知道:System.exit(0);System.out.println("This line will never be reached");要么抛出异常,要么在返回之前终止VM。它永远不会“回来”。很少有人值得打电话System.exit()IME。如果您正在编写命令行工具,并且希望通过退出代码来指示错误,而不是仅仅抛出异常,则这是有意义的.但我不记得上一次在正常的生产代码中使用它是什么时候了。

慕标5832272

该方法永远不会返回,因为它是世界末日,下一个代码都不会执行。在您的示例中,您的应用程序无论如何都会在代码中的同一位置退出,但是,如果您使用System.Exit的话。您可以选择将自定义代码返回到环境中,例如System.exit(42);谁将使用您的退出代码?调用应用程序的脚本。在Windows、Unix和所有其他可编写脚本的环境中工作。为什么要返回密码?说“我没有成功”之类的话,“数据库没有回答”。要了解如何获取退出代码的值并在unix shell脚本或windows cmd脚本中使用,您可以检查这个网站上的答案
随时随地看视频慕课网APP

相关分类

Java
我要回答