6

我对 Stackoverflow 和 Java 比较陌生,但我对 C 语言有一点经验。我喜欢 C 在“exit()”函数出现故障后退出程序的非常干净的方式。

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

4

3 回答 3

6

System.exit()将终止为此程序初始化的 jvm,其中return;只是将当前方法的控制权返回给调用者


另见

于 2012-05-01T13:57:55.977 回答
3

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

于 2012-05-01T14:08:57.057 回答
2

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

于 2012-05-01T14:04:42.300 回答