3.finally代码块

finally语句块最终都会执行的代码,无论有无异常

当我们在try语句中打开了一些物理资源(磁盘文件/网络连接/数据库连接等等)我们都得在使用完之后,最
终关闭打开的资源.

  1. finally的两种语法:
    1. try…finally:此时没有catch来捕获异常,因为此时根据应用场景,我们会抛出异常,自己不处理
    2. try…catch…finally:自身需要处理异常.最终还得关闭资源.

新建FinallyDemo.java

public class FinallyDemo {
	public static void main(String[] args) {
		
		//finally2Return();	
		int i = finally2Retrun1();
		System.out.println(i);
		
		i = finally2Retrun2();
		System.out.println(i);
	}
	private static int  finally2Retrun2() {
		int a = 1;
		try {
			return a;
		}finally {
			++a;
		}
	}
	
	private static int  finally2Retrun1() {
		try {
			return 1;
		}finally {
			return 100;
		}
	}
	
	private static int finally2Return() {
		try {
			System.out.println(10/0);	
			return 1;
		}catch(Exception e) {
			System.out.println("异常");
			System.out.println(e);
			System.exit(0);
		}finally {
			System.out.println("关闭资源");
			return 100;
		}
	}
}

image


image

发布了58 篇原创文章 · 获赞 0 · 访问量 714

猜你喜欢

转载自blog.csdn.net/huang_kuh/article/details/105249818