一级a做爰片免费网站 视频,网站关键词抓取,百度wap,做一个app融资需要多少钱偶尔看到的一个关于 try()...catch() 的用法#xff0c;通常我们使用 try...catch() 捕获异常的#xff0c;如果遇到类似IO流的处理#xff0c;要在finally部分关闭IO流#xff0c;当然这个是JDK1.7之前的写法了#xff1b;
在JDK7优化后的 try-with-resource 语句#…偶尔看到的一个关于 try()...catch() 的用法通常我们使用 try...catch() 捕获异常的如果遇到类似IO流的处理要在finally部分关闭IO流当然这个是JDK1.7之前的写法了
在JDK7优化后的 try-with-resource 语句该语句确保了每个资源在语句结束时关闭。
所谓的资源是指在程序完成后必须关闭的流对象。写在()里面的流对象对应的类都必须是Closeable的子类
try(Resource res xxx){ //可指定多个资源//Code...
}catch (IOException e) {e.printStackTrace();
}
try块退出时会自动调用res.close()方法关闭资源。
1在java7以前程序中使用的资源需要被明确地关闭这个体验有点繁琐。
InputStream is null;
OutputStream os null;
try {//...
} catch (IOException e) {//...
}finally{try {if(os!null)os.close();if(is!null)is.close();} catch (IOException e2) {//...}
}
如果{}中的代码块出现了异常会被catch捕获然后执行catch中的代码接着执行finally中的码其中catch中的代码有了异常才会被执行finally中的代码无论有没有异常都会被执行。
2JDK1.7之后
try-with-resource中的代码一般放的是对资源的申请如果{}中的代码出项了异常()中的资源就会被关闭这在inputstream和outputstream的使用中会很方便。
try(InputStream is new FileInputStream(...);OutputStream os new FileOutputStream(...);
){//...
}catch (IOException e) {//...
}
使用TWR后可以不用在finally中释放外部资源 从而让代码更加优雅