System.exit(0) 与 System.exit(1) 在运行上有何区别

疑问

看到很多博客上说,System.exit(status) ,status 为 0 就是正常退出,status 为 1 是非正常退出。

真的是这样吗?

代码测试

public class Test {
    public static void main(String[] args) {
        try{
            throw new RuntimeException();
        }catch (Exception e){
            System.exit(0);
        }finally {
            System.out.println("正常退出");
        }
    }
}

假如 System.exit(0) 是正常退出,是不是应该执行 finally 代码块呢?
实际上是没有任何输出的。

源码解释

源码里对这个方法是这么说的:
在这里插入图片描述
立即停止 JVM。参数用作状态码;按照惯例,非零值表示非正常终止。

也就是说,这个状态码,是程序员写给程序员看的;对项目的运行来说,没有区别。

©️2020 CSDN 皮肤主题: 岁月 设计师: pinMode 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值