这是一段代码片段.
File dir = new File("dir"); dir.mkdir(); File file = new File(dir,"file.txt"); try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
我想知道为什么在file.createNewFile()时需要一个dir.mkdir()时不需要异常处理.
在创建目录时,我们是否非常确定“没有什么可能出错”?如果是,原因是什么?
解决方法
@H_403_11@ 好问题.这种不同的行为确实没有充分的理由.
createNewFile()在版本1.2中添加到JDK,mkdir()在1.0中添加.这很可能是API设计者决定使用更新功能抛出IOException的原因.