今天开始学java(十六)异常处理

java异常处理的五个关键字:try、catch、finally、throw、throws,在继承关系中父类异常什么样,子类异常什么样

1、throw

作用:可以使用throw关键字在指定的方法中抛出指定的异常
格式:
throw new xxxException("异常产生的原因");
注意:
1、throw关键字必须写在方法的内部
2、throw关键字后边new的对象必须是Exception或者是exception的子类对象
3、throw关键字抛出指定的异常对象,我们必须处理这个异常对象
比如throw关键字后边创建的是RuntimeException或者是RuntimeException的子类对象,我们可以不处理,默认交给jvm处理(打印异常对象,中断程序)
如果创建的是编译异常,我们就必须处理这个异常,要么throws,要么try…catch

2、throws

当方法内部抛出异常对象的时候,那么我们就必须处理这个异常对象
可以使用throws关键字处理异常对象,会把异常对象声明抛出给方法的调用者处理,最终交给jvm处理
格式:在方法声明时使用

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

注意:throws关键字必须写在方法声明处,后边声明的异常必须是Exception或者是Exception的子类
方法内部如果抛出了多个异常对象,那么throws后边必须也声明多个异常,如果抛出的多个异常对象有子父类关系,那么直接声明父类异常即可
调用了一个声明抛出异常的方法骂我们就必须处理声明的异常

3、try…catch

格式:

	try{
	可能会异常的代码
	}catch(定义一个异常变量,用来接收try中抛出的异常对象){
	异常处的处理逻辑,产生异常对象之后,怎么处理异常对象
	}

注意事项:
1、try中可能会抛出多个异常对象,那么就可以使用多个catch来处理这些异常对象
2、如果try中产生了异常,那么就会执行catch中的异常处理逻辑,执行完毕catch中的逻辑后继续执行try…catch之后的代码
3、如果try中没有产生异常,则不会执行catch中的处理逻辑,执行完try中的菜吗,继续执行try…catch之后的代码

4、finally

finally代码块是和try…catch连用的,无论是否出现异常,finally都会执行,无法单独使用,一般用于资源释放
格式:

try{
	可能会异常的代码
}catch{
	处理异常的逻辑
}finally{
	无论是否出现异常都会执行的代码块
}

注意:如果finally中有return语句,永远返回finally中的结果,所以要避免此类事件发生不在finally中写return语句。

发布了77 篇原创文章 · 获赞 8 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章