异常的概念和异常处理

异常的分类:
在这里插入图片描述

异常的产生和传递

异常的产生:
手动创建:new 异常名称(); //创建异常对象
产生异常:throw 异常对象:
相当于return语句,立刻返回异常对象:导致程序中止
异常传递:
按着方法的调用链方向反方向的传递,直至JVM,最终导致程序终止。

常见的未检查异常
1.ArrayIndexOutOfBoundEXception(下标越界异常)
2.NullPointerException(空指针异常)
3.ClassCastException(强制类型转换异常)
4.NumberFormatException(数字格式转换异常)

异常的处理方式:
消极处理:声明抛出

public static void mc(int i) throws 异常名称...{

}

积极处理:try-catch(捕获)

try{
	//可能发生异常的代码
}catch(异常名称 e){
	//异常发生时执行的代码块
	//printStackTrace()  打印详细的错误信息
	e.printStackTrace();
}

1.try后面可以跟多个catch代码块,try代码块中发生的异常和哪个catch后的异常相匹配,则执行哪个catch代码块
2.catch可以捕获父类异常,也可以捕获子类异常 但catch父类异常一定要放在catch子类异常之后

finally代码块

try{

}catch(异常名称 e){

}finally{
	//一定会执行的代码
}

注意:finally中的return语句总是会被执行,所以在开发中一般不将return语句放于finally中
作用:通常定义资源关闭的代码

方法覆盖:

方法三要素完全相同(返回值,方法名,参数列表) 访问修饰符相同或更宽 不能跑出比父类中更多,更宽的异常

自定义异常

//继承与Exception  已检查异常
//继承与RuntimeException  未检查异常
class MyException extends RuntimeException{
	public MyException(){}
	public MyException(String message){
		super(message);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值