异常Exception
出现原因
- 当出现一个不算致命的问题时,为了防止程序崩溃,进而保证程序健壮性
- 执行过程中所发生的异常事件可分为两大类
- Error(错误):Java虚拟机无法解决的严重问题。如:JVM系统内部错误、耗尽等严重情况。比如:StackOverflowError[栈溢出]和OOM(out ofmemory),Error 是严重错误,程序会崩溃。
- Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如空指针访问,试图读取不存在的文件,网络连接中断等等,
- Exception 分为两大类:运行时异常[程序运行时,发生的异常]和编译时异常[编程时,编译器检查出的异常]。编译时异常必须处理。
异常体系图

常见运行时异常
- NullPointerException 空指针异常
- ArithmeticException 数学运算异常
- ArrayIndexOutOfBoundsException 数组下标越界异常4)ClassCastException 类型转换异常
- NumberFormatException 数字格式不正确异常[
常见编译异常
- SQLException //操作数据库时,查询表可能发生异常
- IOException //操作文件时,发生的异常
- FileNotFoundException //当操作一个不存在的文件时,发生异常
- ClassNotFoundException //加载类,而该类不存在时,异常
- EOFException // 操作文件,到文件末尾,发生异常
- IegalArguementException //参数异常
异常处理
- try - catch - finally
可以有多个catch语句,捕获不同的异常(进行不同的业务处理),要求父类异
常在后,子类异常在前,比如(Exception在后,NullPointerException 在前),如果发生异常,只会匹配一个catch,案例演示
- throw
![]()
![]()
自定义异常
- 一般情况下,我们自定义异常是继承 RuntimeException
- 即把自定义异常做成 运行时异常,好处时,我们可以使用默认的处理机制
- 即比较方便
![]()






浙公网安备 33010602011771号