java异常处理机制

1、Throwable是Java中所有异常和错误的父类; Exception是Java中所有异常的父类。error是Java中所有错误的父类;

2、异常处理的流程举例

除数异常问题

 

 JVM在进行计算的时候,检测除了0是除数的问题,JVM认识这个问题,将这个问题看成是异常,并将这个异常进行了对象的封装  new  ArithmeticException("by zero")

发生了异常如何解决:JVM在div方法内部找异常处理方式,div方法中没有,JVM就将这个异常对象抛出去,抛给方法调用这main方法

由于main方法也是JVM负责运行,JVM检查main方法中有没有处理这个异常的能力,main方法中没有,JVM就将这个异常继续抛出,然后将异常信息打印到了控制台(如图),直接终止程序,异常代码之后的所有内容都不执行

 

3、try catch 用来捕获异常信息,这样做的好处就是当发生异常时,将异常信息捕获 一方面可以发现问题,另一方面可以使程序继续运行

处理流程

 JVM在进行计算的时候,检测除了0是除数的问题,JVM认识这个问题,将这个问题看成是异常,并将这个异常进行了对象的封装  new  ArithmeticException("by zero")

发生了异常如何解决:JVM在div方法内部找异常处理方式,div方法中没有,JVM就将这个异常对象抛出去,抛给方法调用这main方法

由于main 中 写了异常对的处理代码,main接收到这个异常后,try就检测到有异常的发生,try也将异常对象抛出到catch中即

 

 

,try中的代码也不再继续执行,此时异常就被处理掉了,代码继续向下执行HelloWorld!

 4、多个catch捕获异常时,父类的异常要写在后面,如果父类异常写在前面,后面的子类异常就失去了作用!

5、java中的异常只分为两种一种是编译时异常,另一种是运行时异常;

throw关键字 :在方法的内部,用于方法中抛出异常 后面写异常类对象 new,异常抛出后,该方法的调用者必须对这个异常进行处理,否则会出现编译错误,如图就是编译错误

throws关键字要写在方法的声明上,不是方法的内部;后面写的是异常类,不是对象不用new

 

 

 

 

 

正确结果

 

 

 6、只要方法有throws声明,调用者必须对其进行处理,不处理就编译失败

7、调用者的处理方式:可以使用throws向上抛出,也可以使用try catch(99%用)

8、如果抛出的是运行时期异常,在方法声明上不需要throws标识出来,对于调用者也不需要处理,如图运行正常

9、finally中的代码是一定执行的,用于释放资源(以后学)

 

1、创建数组分为两步:(1)声明数组变量 dataType[] array; (2)把新创建的数组的引用赋值给变量 array; array = new dataType[arraySize];

    合成一句就是 dataType[] array = new dataType[arraySize] 实例为 int[ ] array = new int[5];

        同理二维数组的创建方式  int a[][] = new int[2][3];二行三列

 

 

 

https://www.cnblogs.com/hainange/p/6334042.html

https://www.cnblogs.com/cheng-chen/p/14365321.html

 

posted @ 2021-03-07 17:52  11111ghm  阅读(25)  评论(0编辑  收藏  举报