什么是异常
异常是指在程序的运行过程中所发生的不正常的事件,它会中断 正在运行的程序。
什么是异常处理
Java编程语言使用异常处理机制为程序提供了错误处理的能力
Java中如何进行异常处理
Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws
使用try-catch块捕获异常,分为三种情况:
第一种:正常
第二种:出现异常
第三种:异常类型不匹配
方法名 | 说明 |
void printStackTrace() | 输出异常的堆栈信息 |
String getMessage() | 返回异常信息描述字符串,是printStackTrace()输出信息的一部分 |
常见的异常类型
异常类型 | 说明 |
Exception | 异常层次结构的父类 |
ArithmeticException | 算术错误情形,如以零作除数 |
ArrayIndexOutOfBoundsException | 数组下标越界 |
NullPointerException | 尝试访问 null 对象成员 |
ClassNotFoundException | 不能加载所需的类 |
IllegalArgumentException | 方法接收到非法参数 |
ClassCastException | 对象强制类型转换出错 |
NumberFormatException | 数字格式转换异常,如把"abc"转换成数字 |
多重catch块
引发多种类型的异常
– 排列catch 语句的顺序:先子类后父类
– 发生异常时按顺序逐个匹配
– 只执行第一个不异常类型匹配的catch语句
何时需要自定义异常?
当JDK 中的异常类型不能满足程序的需要时,可以自定义异常类 使用自定义异常的步骤
1.定义异常类
2.编写构造方法,继承父类的实现
3.实例化自定义异常对象
4.使用throw抛出
继承Excepion 或者RuntimeException
异常分为Checked异常和运行时异常
– Checked异常必须捕获或者声明抛出
– 运行时异常不要求必须捕获或者声明抛出
▪ try-catch-finally中存在return语句的执行顺序
▪ finally块中语句不执行的情况
▪ throw和throws关键字的区别