什么是异常:
异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序
什么是异常处理:
java编程语言使用异常处理机制位程序提供了错误处理的能力
java中如何进行异常处理:
java的异常处理是通过5个关键字来实现的:try, catch, finally ,throw , throws
使用try-catch块捕获异常(分三种)
第一种:正常
public void method(){
try {
// 代码段(此处不会产生异常)
} catch (异常类型 ex) {
// 对异常进行处理的代码段
}
// 代码段
}
第二种:出现异常
异常是一种特殊的对象,类型为java.lang.Excption或子类
public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
// 代码段 3
} catch (异常类型 ex) {
// 对异常进行处理的代码段4
}
// 代码段5
}
第三种:异常类型不匹配
public void method(){
{
// 代码段 1
// 产生异常的代码段
// 代码段 3
} (异常类型 ex) {
// 对异常进行处理的代码段4
}
// 代码段
}
异常处理:
抛出异常:throw,throws
捕获异常:try,catch,finally
抛出异常throw
throw用在方法内,用来抛出一个异常对象,将这个异常对象传递到调用者处,并结 束当前方法的执行。
调用方法输出异常信息
方法名 | 说明 |
void printStackTrace() | 输出异常的堆栈信息 |
String getMessage() | 返回异常信息描述字符串,是printStackTrace()输出信息的一部分 |
常见的异常类型
异常类型 | 说明 |
Exception | 异常层次结构的父类 |
ArithmeticException | 算术错误情形,如以零作除数 |
ArrayIndexOutOfBoundsException | 数组下标越界 |
NullPointerException | 尝试访问 null 对象成员 |
ClassNotFoundException | 不能加载所需的类 |
IllegalArgumentException | 方法接收到非法参数 |
ClassCastException | 对象强制类型转换出错 |
NumberFormatException | 数字格式转换异常,如把"abc"转换成数字 |
多重catch块
引发多种类型的异常 :
排列catch 语句的顺序:先子类后父类
发生异常时按顺序逐个匹配
只执行第一个不异常类型匹配的catch语句
public void method(){
try {
// 代码段
// 产生异常(异常类型2)
} catch (异常类型1 ex) {
// 对异常进行处理的代码段
} catch (异常类型2 ex) {
// 对异常进行处理的代码段
} catch (异常类型3 ex) {
// 对异常进行处理的代码段
}
// 代码段
}
声明异常:
多个异常用逗号隔开
方法一:调用者处理异常
方法二:调用者继续声明异常
小结
1 异常分为Checked异常和运行时异常 :
Checked异常必须捕获或者声明抛出
运行时异常不要求必须捕获或者声明抛出
2 try-catch-finally中存在return语句的执行顺序
3 finally块中语句不执行的情况
4 throw和throws关键字的区别
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)