检索 File.listFiles 返回 null 时的基础错误
根据 File.listFiles javadoc 的方法
如果此抽象路径名不表示目录,或者发生 I/O 错误,则返回 null。
我知道我正在使用目录,但已收到结果,因此必须出现 I/O 错误。我对错误非常感兴趣。null
返回此类结果时,如何检索错误消息/代码?null
根据 File.listFiles javadoc 的方法
如果此抽象路径名不表示目录,或者发生 I/O 错误,则返回 null。
我知道我正在使用目录,但已收到结果,因此必须出现 I/O 错误。我对错误非常感兴趣。null
返回此类结果时,如何检索错误消息/代码?null
你不能。遗憾的是,该 API 没有为您提供查找基础 I/O 错误的方法。
File.listFiles()
要求对返回值进行空
检查 - 应该有更好的错误处理
所有方法的各种方法都具有以下烦人的功能:如果发生I / O错误,它们可能会返回。
listFiles
File
null
这种行为非常不方便,因为这意味着我不仅必须有处理s的代码(这很好),而且我还必须对结果进行额外的检查。
IOException
null
更好的做法是,如果发生 I/O 错误,则始终会抛出 a。您不应使用可分辨的返回值来指示有时错误,然后也应使用其他时间 s!
IOException
throw Exception
评估:我们计划在即将推出的新文件系统 API 中解决这一长期存在的问题。
使用(在Java 7 +中),你会得到正确的异常。java.nio.file.DirectoryStream