有一些代码块无论异常是发生,都需要执行,另外,因为异常发生时,程序会跳转或者是中断,导致有些语句执行不到,而finaly就是解决这个问题的,在finally代码中存放的代码是一定会执行的。
注意事项:
1.finally不能单独使用。必须和try一起使用。
2.finally一般用于资源释放(资源回收),无论程序是否出现异常,最后都要资源释放。
我写了一串代码,以供自己和大家去理解这个语句,如下:
public class Test {
public static void main(String[] args) throws Exception{
try {
read("\"c:\\\\a.txt");
}catch (IOException e){
e.printStackTrace();
}finally {
System.out.println("资源回收");
}
}
public static void read(String name) throws Exception {
if (name!="c:\\a.txt"){
throw new FileNotFoundException("传递的文件路径不是c:\\a.txt");
} else {
System.out.println("没毛病");
}
}
}
这个还是比较重要,IO流中用到这个的场所比较多。