java中try语句,java try()

  java中try语句,java try()

  

目录

带参数的try(){}语法含义最简形式为需要注意的是对try(){}的简单理解好比往文件输出流写东西这样写很难受,可以进行优化

 

  

带参数的try(){}语法含义

带资源的尝试语句(使用资源尝试)

 

  

最简形式为

尝试(资源res=xxx)//可指定多个资源{使用资源}尝试块退出时,会自动调用res.close()方法,关闭资源。

 

  PS:在coreJava第9版的第一卷的486页有解释。

  挺好用的语法,不用写一大堆最后来关闭资源,所有实现可关闭的的类声明都可以写在里面,最常见于流操作,插座操作,新版的客户端也可以;

  

需要注意的是

尝试()的括号中可以写多行声明,每个声明的变量类型都必须是可关闭的的子类,用分号隔开。楼上说不能关两个流的落伍了

 

  补充一下:在没有这个语法之前,流操作一般是这样写的:

  输入流为=nullOutputStream os=null尝试{ //.} catch (IOException e) { //.}最后{试试{ if(os!=null){ OS。close();}如果(是!=null){是。close();} } catch (IOException e2) { //.}} 而现在你可以这样写:

  try(InputStream is=新文件InputStream( . )));输出流OS=新文件输出流( . )));){ //.}catch (IOException e) { //.}生活一下就美好了

  

对try(){}的简单理解

以前使用试着抓住最后都是捕获异常,然后流关闭等等,代码总是这样的:

 

  

好比往FileOutputStream写东西

@测试公共void test2()抛出io异常{ File File=new File( e ://Test );如果(!文件。exists()){ file。创建新文件();}文件输出流file output stream=新文件输出流(file);试试{ System.out.println(做点什么.);fileOutputStream.write(aaa ).getBytes());文件输出流。flush();} catch(异常e){ system。出去。println( do . );}最后{文件输出流。close();} }

 

  

这样写很难受,可以进行优化

将文件输出流文件输出流=新文件输出流(文件)放到尝试()里面,也可以放多个

 

  @Test public void test2()抛出io异常{ File File=new File( e ://Test );如果(!文件。exists()){ file。创建新文件();} try(文件输出流文件输出流=新文件输出流(文件);){ System.out.println(做点什么.);fileOutputStream.write(aaa ).getBytes());文件输出流。flush();} catch(异常e){ system。出去。println( do . );} }试试()里每个声明的变量类型都必须是可关闭的的子类,就一个关闭方法

  相当于系统自动将关闭操作放到了最后里面而不需要我们自己写了,很很好

  以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它.

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

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