关于异常
一,含义
异常:指程序运行中发生的意外,会中断程序
二,异常的五大关键字
异常有五大关键字分别是以下:
1.try:存放可能发生异常的代码块
2.catch:捕获并处理异常
3.finally:存放无论如何都要执行的代码,除非jvm(Java虚拟机)退出
4.throws:声明异常,将方法可能发生的异常列举出来
5.throm:抛出异常,自定义异常
三,常见的异常类型
异常类型分很多种,常见的异常类型分别有以下这些:
1.Exception :所有异常的父类
2.ArithmeticException:算术异常 不符合数学的相关规定
3.ArrayIndexOutOfBoundsException:数组下标越界
4.NullPointerException:空指针异常 Pet pet=null; pet.age=9;
5.ClassNotFoundException:加载的类找不到
6.IllegalArgumentException:方法接受到非法参数
7.ClassCastException:类的转换异常 dog–>Cat
8.NumberFormatException:数据转换异常 “中国”–>int
四,异常处理机制三个模块的搭配问题
1.try必须有
如下图所示
可以从图中看出 我们先是写了一个完整的异常处理机制 然后注释掉try块后 代码立即报错。
2.try不能独立存在
如下图所示
从图中可以看出 如果我们省略掉catch块和finally块只单独写一个try块的话 代码也会发生报错
下面再展现一下几种正确的写法
1.第一种是我们常见的标准写法 由try块catch块和finally块组成
2.
第二种是省略finally块 由try块和catch块组成
3.
第三种是省略catch块 由try块和finally块组成
五,异常的执行顺序 try-catch–>finally
1.有异常: try-catch–>finally
2.无异常: try–>finally
3.try块一旦发生异常会立即跳入catch进行处理
六,多重catch
1.使用场景:一段代码可能发生多种不同类型的异常时
2.摆放顺序:先子后父,将最可能发生的异常往前放
如下图所示