Java基础语法之异常

异常:本身是一个类,产生异常就是创建异常对象并抛出一个异常对象。
异常分类
异常产生的过程解析
异常产生过程

异常处理的5个关键字:try catch finally throw throws

throw关键字

作用

可以使用该关键字在指定方法中抛出指定的异常;

使用格式

throw new xxxException(“异常产生的原因”)

注意

1 throw关键字必须写在方法内部;
2 throw关键字后面new的对象必须是Exception或者Exception子类的对象 ;
3 throw关键字抛出指定的异常后,就必须对这一异常进行处理;

①若后面创建的是RuntimeException类或其子类对象,可以不对其进行直接处理,而是交给JVN处理(打印异常对象,中断程序);

②若后面创建的是编程期异常,就必须直接对其处理,使用throws关键字将throw关键字抛出的异常再继续抛给JVM进行处理;使用try…catch对其进行处理。

Object非空判断

Object中有个静态方法,用来判断对象是否为Null.

public static<T>  T  requireNonNull(T obj )

throws关键字处理异常的第一种方式,交给别人处理

作用:

1.当方法内部由throw关键字抛出异常的时候,我们就必须对这个异常进行处理;

2.可以使用throws关键字处理异常对象,会将异常对象声明抛出给方法的调用者处理(自己不处理,给别人处理),然后,方法的调用者最终会将该异常交给JVM处理,中断处理。

使用格式:在方法声明时使用

修饰符 返回值类型 方法名(参数列表) throws  AAAException , BBBException…{
		throw new AAAException(“产生原因”)throw new BBBException(“产生原因”);
		…
}

注意:

1.throws关键字必须写在方法声明处;

2.throws关键字后面的声明对象必须是Exception类或其子类的对象;

3.方法内部throw关键字抛出多个异常,throws后面就声明多个异常;
如果抛出的异常存在子父类关系,则仅声明父类异常即可。

4.调用该类声明抛出异常的方法时,我们就必须对这个异常进行处理:
第一:继续使用throws关键字声明抛出这个异常,交给方法的调用者去处理,最终交给JVM处理;第二:使用try…catch自己对这个异常进行处理。

try…catch关键字处理异常的第二种方式,自己处理

格式

try{
	//可能产生异常的代码块
}catch(定义一个异常对象,用来接收try中抛出的异常){
	//异常的处理逻辑,一般在工作中会将异常信息记录在一个日志中。
}catch(异常类名 变量名){

}

注意
1.try中可能抛出多个异常对象,就需要使用多个catch来处理这些异常对象;
2.如果try中产生了异常,那么就会执行catch中的异常处理逻辑,然后执行后面的代码。

finally代码块
try{

}catch(){

}finally{
	//无论try中是否抛出异常,都会执行
}

注意

1.不能单独使用,必须和try一起使用;
2.finally一般用于资源回收(资源释放),无论程序是否出现异常,最终都要资源释放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值