0
点赞
收藏
分享

微信扫一扫

finally块


finally块:


finally块的使用前提是必须要存在try块才能使用。


finally块的代码在任何情况下都会执行,除了jvm退出的情况。


finally块非常适合做资源释放的工作。


​​/**​​​​* Author:Liu Zhiyong​​​​* Version:Version_1​​​​* Date:2016年6月22日22:04:32​​​​* Desc:finally块​​​​    finally块的使用前提是必须要存在try-catch块才能使用。​​​​    finally块的代码在任何情况下都会执行,除了jvm退出的情况。​​​​   finally块非常适合做资源释放的工作。​​​​*/​​​​class Demo69 ​​​​{​​​​ public static void main(String[] args) ​​​​ {​​​​   div(4, 0);​​​​  }​​​​ ​​​​  public static void div(int a, int b){​​​​   try​​​​   {​​​​     System.out.println("出现异常前。。。。");​​​​      if(b == 0){​​​​     //  return;//(函数一旦执行到了return关键字,那么该函数马上结束。)finally块里面的还是能执行​​​​       System.exit(0); //退出jvm​​​​     }​​​​     int c = a / b;​​​​      System.out.println("c="+c);​​​​   }​​​​   catch (Exception e)​​​​   {​​​​     System.out.println("除数不能为0。。。。");​​​​     throw e; //throw也能结束异常(一个方法遇到了throw关键字的话,方法会马上停止执行)​​​​   }finally{​​​​     System.out.println("finally块执行了。。。。");​​​​    }​​​​ }​​​​}​​ 

finally块释放资源demo:


​​/**​​​​* Author:Liu Zhiyong​​​​* Version:Version_1​​​​* Date:2016年6月23日23:11:15​​​​* Desc:finally块释放资源的代码 ​​​​*/​​​​import java.io.*;​​​​​​​​class Demo70 ​​​​{​​​​ public static void main(String[] args) ​​​​ {​​​​ FileReader fileReader = null;​​​​ try​​​​ {​​​​ //找到目标文件​​​​ File file = new File("f:/a.txt");​​​​ //建立程序​​​​ fileReader = new FileReader(file);​​​​ //读取文件​​​​ char[] buff = new char[1024];​​​​ int length = 0;;​​​​ length = fileReader.read(buff);​​​​ System.out.println("读取到的内容如下:\n-----------------\n" ​​​​ + new String(buff, 0, length) + "\n-----------------");​​​​ }​​​​ catch (IOException e)​​​​ {​​​​ System.out.println("读取资源文件失败。。。");​​​​ e.printStackTrace();​​​​ }finally{​​​​ try​​​​ { ​​​​ //关闭资源​​​​ fileReader.close();​​​​ System.out.println("释放资源成功。。。");​​​​ }catch (IOException e)​​​​ {​​​​ System.out.println("释放资源失败。。。");​​​​ }​​​​ }​​​​ }​​​​​​​​}​​

举报

相关推荐

0 条评论