Graceful Java之try...catch()()

  本篇文章为你整理了Graceful Java之try...catch()()的详细内容,包含有 Graceful Java之try...catch(),希望能帮助你了解 Graceful Java之try...catch()。

  

 

 

  目录概述优化优化前写法(JDK1.7之前)优化后写法(JDK1.7及以后)延伸阅读:嵌套的文件流如何正确的关闭

  通常我们使用try...catch()捕获异常时,如果遇到类似IO流的处理,要在finally部分关闭IO流。这是JDK1.7之前的写法了;

  在JDK7以后,可以使用优化后的try-with-resource语句,该语句确保了每个资源,在语句结束时关闭。所谓的资源是指在程序完成后,必须关闭的流对象。写在()里面的流对象对应的类都实现了自动关闭接口AutoCloseable。

  语法:

  

try (创建流对象语句,如果多个,使用;隔开) {

 

   // 读写数据

  } catch (IOException e) {

   e.printStackTrace();

  

 

  优化前写法(JDK1.7之前)

  

Properties prop = new Properties();

 

  File configFile = new File("/home/appconfig.properties");

  FileInputStream fs = null;

  InputStreamReader reader = null;

  try {

   fs = new FileInputStream(configFile);

   reader = new InputStreamReader(fs, "utf-8");

   prop.load(reader);

  } catch (Exception e) {

   Logger.error("load file error!!", e);

  } finally {

   try {

   if (reader != null) {

   reader.close();

   if (fs != null) {

   fs.close();

   } catch (IOException e) {

   e.printStackTrace();

  

 

  优化后写法(JDK1.7及以后)

  

try (FileInputStream fs = new FileInputStream(configFile); InputStreamReader reader = new InputStreamReader(fs, "utf-8")) {

 

   prop.load(reader);

  } catch (Exception e) {

   Logger.error("load file error!!", e);

  

 

  延伸阅读:嵌套的文件流如何正确的关闭

  以上就是Graceful Java之try...catch()()的详细内容,想要了解更多 Graceful Java之try...catch()的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: