java.io.exception_Java IO异常处理方式

public class IOException{

// 获取系统默认的行分隔符

private static final String LINE_SEPARATOR = System.getProperty("line.separator");

public static void main(String[] args){

try{

FileWriter fw = new FileWriter("test.md");

fw.write("abc"+LINE_SEPARATOR+"haha");

} catch (IOException){

System.out.println(e.toString());

} finally{

fw.close(); // 此时, fw 是局部变量, 只在 try 内部有效, 此时 fw 属于未定义变量

}

}

}

// 改进第一步:

public class IOException{

// 获取系统默认的行分隔符

private static final String LINE_SEPARATOR = System.getProperty("line.separator");

public static void main(String[] args){

FileWriter fw = null; // 创建流对象

try{

// 流对象初始化

fw = new FileWriter("k:\\test.md");

fw.write("abc"+LINE_SEPARATOR+"haha");

} catch (IOException){

System.out.println(e.toString());

} finally{

try{

fw.close();// 此处有可能出现关闭失败的异常, 所以也许要 try catch

} catch (IOException e){

throw new RuntimeException("关闭失败");

}

}

}

}

// 运行上述程序:

public class IOException{

// 获取系统默认的行分隔符

private static final String LINE_SEPARATOR = System.getProperty("line.separator");

public static void main(String[] args){

FileWriter fw = null;

try{

// 流对象初始化

fw = new FileWriter("k:\\test.md"); // 此处出现异常: FileNotFoundException

// 该异常是 IOException 的子类

fw.write("abc"+LINE_SEPARATOR+"haha");

} catch (IOException){

System.out.println(e.toString);

} finally{

try{

fw.close(); // 由于文件没有创建成功, 因此此处抛出 NUllPointerException

} catch (IOException e){

throw new RuntimeException("关闭失败");

}

}

}

}

// 改进第二步:

public class IOException{

// 获取系统默认的行分隔符

private static final String LINE_SEPARATOR = System.getProperty("line.separator");

public static void main(String[] args){

FileWriter fw = null;

try{

// 流对象初始化

fw = new FileWriter("k:\\test.md"); // 此处出现异常: FileNotFoundException

// 该异常是 IOException 的子类

fw.write("abc"+LINE_SEPARATOR+"haha");

} catch (IOException){

System.out.println(e.toString);

} finally{

if(fw != null) // 增加一条判断语句

try{

fw.close();

} catch (IOException e){

throw new RuntimeException("关闭失败");

}

}

}

}

参考资料:


版权声明:本文为weixin_42499999原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。