Finally in use in return

Because in the case finally clause is always executed in a way, we can return from multiple points, and can ensure that important clean-up work still performs:

public class MultipleReturns {
	public static void f(int i) {
		System.out.println("Initialization that requires cleanup");
		try {
			System.out.println("Point 1");
			if(i == 1)return;
			System.out.println("Point 2");
			if(i == 2)return;
			System.out.println("Point 3");
			if(i == 3)return;
			System.out.println("End");
			return;
		}finally {
			System.out.println("Performing cleanup");
		}
	}
	public static void main(String[] args) {
		for(int i=1;i <= 4;i++)
			f(i);
	}
}

operation result:

We can see from the output, within the class finally returns does not matter from where.

Guess you like

Origin blog.csdn.net/qq_41026809/article/details/92647593