使用try_catch_finally处理流中的异常和JDK7流中的异常处理
2024-09-06 07:29:00
在jdk1.7之前使用try_catch_finally处理流中的异常
格式:
try{
可能会出现异常的代码
}catch(异常类变量 变量名){
异常的处理逻辑
}finally{
一定会执行的代码
资源释放
}
代码实现:
package com.yang.Test.IOStudy.OutStudy;
import java.io.FileWriter;
import java.io.IOException;
public class demo05 {
public static void main(String[] args) {
FileWriter fw = null;
//可能会出现异常的代码
try {
fw = new FileWriter("Document\\1.txt", true);
for (int i = 0; i < 10; i++) {
fw.write("HelloWorld" + i + "\r\n");
}
//异常的处理逻辑
} catch (IOException e) {
System.out.println(e);
//一定会执行的代码
//资源释放
} finally {
try {
fw.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
JDK7和JDK9流中的异常处理
package com.yang.Test.IOStudy.OutStudy;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* JDK7的新特性
* 在try的后边可以增加一个(),在括号中可以定义流对象
* 那么这个流对象的作用域就在try中有效
* try中的代码执行完毕,会自动吧流释放,不用谢finally
* 格式:
* try(定义流对象;定义流对象.....){
* 可能会产出异常的代码
* }catch(异常类变量 变量名){
* 异常的处理逻辑
* }
*/
public class demo06 {
public static void main(String[] args) {
try (
FileInputStream fis = new FileInputStream("1.txt");
FileOutputStream fos = new FileOutputStream("b.txt");
) {
int len = 0;
while((len = fis.read())!=-1){
fos.write(len);
}
} catch (IOException e) {
System.out.println(e);
}
}
}
最新文章
- Windows bat脚本学习(1)
- (C#)使用NPOI导出Excel
- Android 开发基础及环境配置
- (转)C语言16进制输出字符型变量问题
- 如何将CKeditor编辑器的上传和thinkphp结合
- openjudge2989糖果[DP 01背包可行性]
- php学习手记
- winrt控件
- DP:Ant Counting(POJ 3046)
- html 去掉input 获取焦点时的边框
- java项目编译有误
- A Bug
- 关于extjs中动态添加TabPanel的tab项并以iframe显示的整理
- python学习笔记之初识Python
- 问题.NET--win7 IIS唯一密钥属性“VALUE”设置为“DEFAULT.ASPX”时,无法添加类型为“add”的重复集合
- html5+css3中的background: -moz-linear-gradient 用法 (转载)
- ajax重复提交到相同url时出现的问题
- oracle 分析函数 keep(dense_rank first/last)
- MongoDB——学习
- WorldWind源码剖析系列:角度类Angle