try catch 模块 catch 部分有return 语句处理

 

import java.io.IOException;

/**
 * 
 */

/**
 * @author taoge
 *
 */
public class TestException {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		foo(0);
		foo(1);
	}
	
	public static void foo(int i){
			String str="";
			try {
				if (i==1) {
					throw new IOException();
					
				}
				str+=1;
			} catch (IOException e) {
				// TODO Auto-generated catch block
//				e.printStackTrace();
				str+=2;
				return;
			}finally{
				str+=3;
				System.out.println("test");
			}
			str+=4;
			System.out.println(str);
	}

}

 
test
134
test
 

 

由此可见,当catch 模块遇到return 的时候,在return 之前执行 finally模块语句,然后再执行return

 

你可能感兴趣的:(try,catch,模块,catch,部分有return,语句执行过程)