为什么dir.mkdir()在file.createNewFile()时不需要异常处理?

Abh*_*ngh 7 java file-io file

这是一段代码片段.

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();
        }
Run Code Online (Sandbox Code Playgroud)

我想知道为什么在需要的dir.mkdir()时候不需要异常处理file.createNewFile().

在创建目录时,我们是否非常确定"没有什么可能出错"?如果是,原因是什么?

Cra*_*ing 5

好问题.

这种不同的行为确实没有充分的理由.

createNewFile()加入到在JDK 1.2版和mkdir()在1.0中加入.这很可能是API设计师决定使用更新功能的原因IOException.