为什么 dir.mkdir() 不需要异常处理,而 file.createNewFile() 需要?
Why dir.mkdir() requires no exception handling, when file.createNewFile() does?
这是一个代码片段。
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();
}
我想知道为什么 dir.mkdir()
不需要异常处理而 file.createNewFile()
.
需要异常处理
我们是否非常确定 "Nothing could wrong" 在创建目录时?若有,原因为何?
好问题。
这种不同的行为确实没有充分的理由。
createNewFile()
是在1.2版本的JDK中添加的,mkdir()
是在1.0版本中添加的。这很可能是 API 设计师决定开发新功能以抛出 IOException
.
的原因
这是一个代码片段。
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();
}
我想知道为什么 dir.mkdir()
不需要异常处理而 file.createNewFile()
.
我们是否非常确定 "Nothing could wrong" 在创建目录时?若有,原因为何?
好问题。
这种不同的行为确实没有充分的理由。
createNewFile()
是在1.2版本的JDK中添加的,mkdir()
是在1.0版本中添加的。这很可能是 API 设计师决定开发新功能以抛出 IOException
.