/*

finally语句块是一定会执行的,所以通常在程序中

为了保证某资源一定会释放,所以一般在finally语句块

中释放资源。

注意:受控异常就是编译时异常。

   非受控异常就是运行时异常。

*/

import java.io.*;

public class ExceptionTest10{

public static void main(String[] arg){

//必须在外边声明

FileInputStream fis = null;

try{

fis = new FileInputStream("ExceptionTest10.java");

}catch(FileNotFoundException e){

e.printStackTrace();

}finally{

//为了保证资源一定会释放.

if(fis!=null){

try{

fis.close();

}catch(IOException e){

e.printStackTrace();

}

}

}

}

}