javaSE进阶学习记录:3.5 异常处理(finally子句)

package com.LearnTest02.D02;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/*
 * try/catch/finally子句都不能单独使用,try...catch../try...finally/try...catch...finally
 * finally子句总是会执行
 */
public class ExceptionClass04 {

	public static void main(String[] args) {
		
		int result = m1(10);
		System.out.println(result);//得出的结果为10
		int result02 = m2(10);
		System.out.println(result02);//得出的结果为11
		
	}
	
	private static int m2(int i) {
		try {
			return i;
		}finally {
			i++;
			return i;
		}
	}

	public static int m1(int x) {
		try {
			return x;
		}finally {
			x++;
		}
	}
	/*
	 * 程序执行return x;时,并没有立即执行return语句,而是把xx的值保存到临时变量中
	 * 执行finally子句,x+1
	 * 再执行return语句,把临时变量的值返回
	 * 因此输出的结果为10
	 */
	
}

 

你可能感兴趣的:(java,java)