System.exit(n),正常退出与异常退出的区别

来源:互联网 发布:淘宝宝贝p图 编辑:程序博客网 时间:2024/04/28 01:25
今天碰到个很简单的问题,平时都不怎么注意这些细节,还特意去搜了一下:正常退出与异常退出有什么区别?
public static void exit(int status)
终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。 

该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。

调用 System.exit(n) 实际上等效于调用:

 Runtime.getRuntime().exit(n)
从上面可以看出
System.exit(0):正常退出
System.exit(1):异常退出
其实他们的效果都是一样的,程序都会退出,关键是退出之后返回的不一样,看该程序外面怎么用了,如果不用返回结果的话,其实效果是一样的。
下面给个简单的bat例子:
java   abc.HelloWorld ECHO   exit=%ERRORLEVEL% IF   ERRORLEVEL   0   ECHO   正常结束,或者调用了System.exit(0) IF   ERRORLEVEL   1   ECHO   System.exit(1)