java零基础的坎坷之路【42】——异常处理2

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LiyangBai/article/details/88364192
1、throws和throw的区别:
	
	throws:
		用在方法声明后面,跟的是异常类名
		可以跟多个异常类名,用逗号隔开
		表示抛出异常,由该方法的调用者来处理
		throws表示出现异常的一种可能性,并不一定会发生这些异常
		
	throw:
		用在方法体内,跟的是异常对象名
		只能抛出一个异常对象名
		表示抛出异常,由方法体内的语句处理
		throw则是抛出了异常,执行throw则一定抛出了某种异常
		
2、处理异常的原则;
	功能内部可以处理、或者后续需要继续执行,就用try,否则就throws抛出。
	
3、finally的特点:

	finally语句体内的代码一定执行
	特殊情况,执行到finally之情,jvm退出了则不执行
	
4、finally的作用:
	用于释放资源
	
5、finally相关面试题:
	①、final和finally、finalize的区别?
		final:方法、类、变量的修饰符
				修饰类,类不能被继承
				修饰方法,方法不能被重写
				修饰变量,变量是常量
		finally:异常处理的一部分,用于释放资源
		finalize:Object类的一个方法,用于垃圾回收
		
	②、如果catch里面有return语句,请问finally的代码还会执行吗?
		会执行,在return之前
		
6、异常注意事项:
	
	子类重写父类方法时,子类的方法必须抛出和父类相同的异常或者父类异常的子类
	如果父类抛出了多个异常,子类重写父类时,只能抛出相同的异常或它的子集,子类不能抛出父类没有的异常
	如果被重写的方法没有异常抛出,那么子类的方法不可以抛出异常,如果子类方法内有异常,只能try,不能throws

猜你喜欢

转载自blog.csdn.net/LiyangBai/article/details/88364192
今日推荐