【发布时间】:2015-04-28 14:02:54
【问题描述】:
我对一个简单的命令行 Java 应用程序有以下疑问。
所以我有这个命令行应用程序,它由 Main 类中定义的 main() 方法启动。像往常一样,这个 main() 方法是用这个签名定义的:
public static void main(String[] args) {
它的返回类型是void,这应该意味着它不返回任何值。但是当它的执行正确终止时,我会在 IntelliJ 控制台中获得以下消息。
Disconnected from the target VM, address: '127.0.0.1:54090', transport: 'socket'
Process finished with exit code 0
exit code 0究竟代表什么?我认为这意味着程序已经正确完成了执行,没有出现任何错误。
所以现在我有以下2个疑惑:
如果我的
main()方法返回void,为什么会发生这种情况?如果我的应用程序以错误结束,我如何返回不同的退出代码?
是否有以错误结束的标准退出代码值?
【问题讨论】:
-
退出代码 0 只是 java 约定的 0。在正常情况下,除 0 以外的退出代码应该是错误的指示符,如果 java 程序背后的程序员在使用 System.exit() 时没有遵循此约定,则不需要这样;