Java 如果程序崩溃,main方法能否返回错误代码?

Java 如果程序崩溃,main方法能否返回错误代码?,java,main,error-code,Java,Main,Error Code,我想知道 public static void main (String args []) 如果程序崩溃,是否可以返回任何错误代码?如果不是,为什么会这样?是否只是因为退货类型为void?如果我将返回类型更改为其他类型,那么它是否能够返回错误代码 我很自然地在互联网上搜索过这个问题,我确信有人问过类似的问题,但我仍然不太明白背后的原因 如果程序崩溃,是否可以返回任何错误代码 否,因为返回类型为void 但是退出Java程序不会在主方法返回时发生。它发生在最后一个非守护进程线程停止时,或者调用S

我想知道

public static void main (String args [])
如果程序崩溃,是否可以返回任何错误代码?如果不是,为什么会这样?是否只是因为退货类型为void?如果我将返回类型更改为其他类型,那么它是否能够返回错误代码

我很自然地在互联网上搜索过这个问题,我确信有人问过类似的问题,但我仍然不太明白背后的原因

如果程序崩溃,是否可以返回任何错误代码

否,因为返回类型为
void

但是退出Java程序不会在主方法返回时发生。它发生在最后一个非守护进程线程停止时,或者调用
System.exit()
时。并且
System.exit()
将整数作为参数。因此,如果希望Java进程以状态42结束,则只需调用
System.exit(42)

如果程序崩溃,是否可以返回任何错误代码

否,因为返回类型为
void


但是退出Java程序不会在主方法返回时发生。它发生在最后一个非守护进程线程停止时,或者调用
System.exit()
时。并且
System.exit()
将整数作为参数。因此,如果希望Java进程以状态42结束,则只需调用
System.exit(42)

即可设置进程退出代码,您可以使用
Java.lang.System.exit(int)
call。无法更改该主方法的返回类型,否则JVM将产生错误:
error:main方法必须返回void类型的值
以设置可以使用的进程退出代码
java.lang.System.exit(int)
call。无法更改该主方法的返回类型,否则JVM将产生错误:
error:main方法必须返回void类型的值