异常

异常
1.概念:异常是指在程序运行过程中发生的不正常事件,它会中断正在运行的程序。Exception是Java中所有异常的父类。
2.传统处理异常的方式

3.Java中异常处理机制

程序中预先设置好处理异常的方法 在这里插入代码片 程序运行 异常 对异常进行处理

处理完毕,程序继续运行

4.Java中处理异常的5个关键字:try、catch、finally、throw、throws
try:执行可能产生异常的代码;
catch:捕捉异常
finally:无论是否发生异常,代码都能执行
throw:手动抛出异常
Throws:声明方法可能要抛出的各种异常,多个异常用逗号隔开

5.语法:try{
//代码段(必被执行,此处不产生异常)
}catch(异常类型 ex){
//对异常处理的代码段
}finally{
//代码段
}
其中catch块中的异常类型只能写一个,因程序中的异常类型有很多种,所以一个try块中可以有多个catch块。
要注意的是:(1)因为不知道具体会出现那种异常,所以在使用多重catch块中,越具体的子异常类写在catch的首位,越抽象的父异常类越往后写。
(2)try块中的代码一旦出现异常,程序逻辑就会向catch块中转移,try块中引发异常的代码后面的内容将不再执行。
(3)try-catch-finally首先执行的是try,如果引发异常,执行catch,不管是否引发异常都将执行finally。
(4)try-catch-finally链中可以没有catch块或者finally块,但不能省略try块且try块不能单独存在。

6.throws声明异常;throw抛出异常
throws:声明方法内抛出了异常;必须跟在方法参数列表后面,不能单独使用;声明抛出异常的类型,可以跟多个异常。
Throw:生成并抛出异常;位于方法体内部,可做单独语句使用;抛出一个异常对象,且只能是一个。
例如:

public void main (String[] args) throws Exception,NullPointerException{ 
	    try{  
	    		//代码块
	    } catch(NullPointerException e){
	    	throw new NullPointerException("空指针异常");
	    }
	    catch(Exception e){
	    	throw new Exception("异常信息");
	    }	
	}    //可以声明两个异常,但一个throw只能抛出一个异常

7.异常链
由一种异常引发另一种异常
异常链抛出了新的异常但却包含了原有异常的信息。

8.异常处理原则
(1)需要对捕获的异常做处理
(2)不要讲过于庞大的代码块放在try中

9.异常分为Checked异常和运行时异常
Checked异常必须捕获或者声明抛出
运行时异常不要求必须补货或者声明抛出

10.常见异常类型:
Exception 异常层次结构的父类
ArithmeticException 算术错误异常,如除数为零
ArrayIndexOutOfBoundsExcption 数组下标越界
NullPointerException 空指针异常
ClassNotFoundException 不能加载所需的类
IllegalArgumentException 方法接收到非法参数
ClassCastException 对象强制类型转换出错
NumberFormatException 数字格式转换异常,如把”abc”转换为数字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值