在try中调用exit,为何finally还是执行了

public class T2Exception {
    public void  b(){
        int i=0;
        try {
            int a=4/i;
            System.exit(0);
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            System.out.println("1");
        }
    }

    public static void main(String[] args) {
        T2Exception t=new T2Exception();
        t.b();
    }
}

结果:

求大佬解释一下

好兄弟你不对劲,try出现异常就不执行了,直接执行catch,然后在执行finally,所以你的exit压根就没执行到,不信可以在exit行加个断点,都不带停的