Exection(二)

因为erroe是系统级别的错误,我们只能通过修正代码来解决,所以我们不做深入的了解

我们来了解下,当有异常产生,整个流程是怎样的

我们先来一段代码

public class Main {
    public static void main(String[] args) {
        System.out.println("我们来了解下异常的产生过程");
       int i=1/0;//手动创建的算数异常
        System.out.println("这句话不会输出到控制台,因为有了异常,没有去处理,后面的程序代码不会再执行,JVM将停止,结束");
    }
}

控制台打印的信息
这里写图片描述
注意:还有一句话没有输出再控制台

处理过程:

由于被除数不能为0,导致运行时发生了异常。
JVM提前预知了会发生这种异常的事件,所以本身JDK有这个类,java.lang.ArithmeticException

JVM创建了异常对象 new java.lang.ArithmeticException(/ by zero);异常的名称,异常的内容,异常产生的位置,封装成一个对象
然后往上抛出,因为这个异常,没有调用者去接受他,因为是main方法,JVM是调用者,JVM不能再往上抛了,只能自己处理。程序停止运行.结束.


JVM做了两件事
1.将异常信息以红色字体输出到控制台。
2.将程序停止运行,结束。

原文地址:https://www.cnblogs.com/aotemanzhifu/p/9192430.html