Java-finally子句
不论try块中是否出现异常或者异常是否被捕获,finally块一定会执行。
说finally块一定会执行,当然是理想条件下的(程序不会异常停止),但是在现实生活中,会出现突发情况(也可以是人为),在下面的两种情况下,finally块不会执行
1.通过代码强行使程序走到finally块前停止。
System.exit(status:0); //此行代码的作用是结束当前正在运行的Java虚拟机,其中status表示退出状态码,0.正常退出 非零.非正常退出
2.出现“天灾”
软件异常关闭、电脑突然关机(如果小伙伴使用的是台式机器突然停电机会导致突然关机)、等等。
需要注意的是,当return和finally同时出现的时候许多小伙伴就在这绊倒了。下面我分享一下小伙伴可能会遇到的题目或情况。
首先finally语句应用在我们需要捕获异常的时候(说了句废话),finally语句的作用呢,相信小伙伴们都已经了如指掌,正是因为finally的特殊性,在做项目的时候也通常会将关闭数据库、释放资源等类似的代码放入其中。return是指结束该方法,继续执行方法后的语句。但是有些题目,就是那么刁钻,将return和finally放在一块,在考验我们对知识掌握的深度。废话不多说,上代码
1.
public static int test1() {
int a = 10;
try {