退出主要function

我对Stackoverflow和Java相对较新,但我对C有一点经验。在’exit()’函数出现故障后,我喜欢C退出程序的非常干净的方式。

我在Java中发现了一个类似的函数System.exit(),它与C函数有什么不同,什么时候应该使用’System.exit()’而不是像Java中的简单’return’那样在void main函数中?

System.exit()将终止为此程序启动的jvm, return; 只需将当前方法的控件返回给调用者


另见

  • 什么时候应该我们调用system-exit-in-java?

System.exit()将退出程序,无论是谁调用它或为什么。 main中的return将退出main()但不会杀死任何调用它的东西。 对于简单的程序,没有区别。 如果你想从另一个函数(可能正在进行性能测量或error handling)调用你的main,那么它很重要。 您的第三个选择是抛出未捕获的运行时exception。 这将允许您从调用堆栈深处退出程序,允许任何调用main的外部代码以编程方式拦截和处理退出,并在退出时,向用户提供出错的位置以及位置(如反对退出状态,如2)。

当您准备好在用户(即GUI应用程序)的条件下终止程序时, System.exit()可能很方便。 return用于返回程序执行的最后一个点。 这两个是非常不同的操作。