关于try、catch、finally返回return的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/QQ994406030/article/details/86985547

第一种情况:

public static void main(String[] args) {
	System.out.println(print());
}

@SuppressWarnings("finally")
public static String print() {
	try {
		System.out.println("------try------");
		return "try";
	} finally {
		System.out.println("------finally------");
		return "finally";
	}
}

执行结果:

------try------
------finally------
finally

第二种情况:

public static void main(String[] args) {
	System.out.println(print());
}

@SuppressWarnings("finally")
public static String print() {
	try {
		System.out.println("------try------");
		int i = 10;
		int j = i / 0;
		return "try";
	} catch (Exception e) {
		System.out.println("------catch------");
		return "catch";
	} finally {
		System.out.println("------finally------");
		return "finally";
	}
}

执行结果:

------try------
------catch------
------finally------
finally

第三种情况:

public static void main(String[] args) {
	System.out.println(print());
}

public static String print() {
	try {
		System.out.println("------try------");
		int i = 10;
		int j = i / 0;
		return "try";
	} catch (Exception e) {
		System.out.println("------catch------");
		return "catch";
	} finally {
		System.out.println("------finally------");
	}
}

执行结果:

------try------
------catch------
------finally------
catch

猜你喜欢

转载自blog.csdn.net/QQ994406030/article/details/86985547