异常是程序运行时发生的不正常事件
Throwble是异常体系的基类,直接继承Object类
Error是程序运行时发生的,程序无法处理的,严重性的不正常事件
Exception是程序运行时发生的,程序可以处理的,非严重性的不正常事件
非运行时(检查型)异常,程序必须处理该异常
运行时(非检查型)异常,不要求程序必须做出处理
运行时(非检查异常)
派生于RuntimeException类的,不需要显示处理的异常
非运行时(检查型异常)
派生于Exception(除RuntimeException及其子类),需要显式处理的异常
异常类
Exception 可处理异常层次结构的父类
ArithmeticExcepton 算术错误
ArrayIndexOutOfBoundsException 数组下标越界
NullPointerException 尝试访问空对象
NumberFormatException 数字格式异常如"abc"转换为数字
IIIegalArgumentException 方法接到非法参数
ClassCastException 对象强制类型转换出错
InputMismatchException 输入不匹配
ClassNotFoundException 不能加载该类
FileNotFoundException 打开指定路径文件失败
java程序语言使用异常处理机制为程序提供错误处理能力
定义:异常处理是对异常进行抛出,捕获和处理以提高程序健壮性的机制
五个关键字
try 执行可能产生异常的代码
catch 捕获异常
finally 无论是否异常,总能执行
throws 声明方法中可能抛出的异常、
throw 抛出异常的关键字
try{
//可能异常的代码块
}catch(异常类型e){
//对异常进行处理的代码块
}
finally
是在try或catch代码块之后,标示无论有无异常都将执行的代码块的关键字
用于资源的释放和回收
排序catch的顺序:先子类后父类
发生异常时逐个匹配
只执行第一个与异常类型陪陪的catch语句
throws时在声明方法时,指定可能会抛出哪些异常的关键字
throw是在方法体种,抛出异常的关键字
异常处理,增强代码的健壮性,提高编程效率,增强代码可读性