我的应用程序中有以下代码:
final File f = new File(path);
try {
boolean folderCreated = f.mkdirs();
// if dir wasn't created this time, and doesn't exist
if (!folderCreated && !f.exists()) {
throw new IOException("Unable to create path");
}
} catch (SecurityException e) {
throw new IOException("Unable to create path");
}
当我运行 findbugs(在 Android Studio 中)时,它会报告Bad Practice
Bad use of return value from method
Method ignores exceptional return value of java.io.File.mkdirs()
Javadoc 声明java.io.File.mkdirs()
如果创建了目录,则返回 true,否则返回 false,或者如果目录已经存在,则进行!f.exists()
检查。
我不想忽略 findbugs 消息——甚至是警告,但我不知道如何解决这个问题,因为显然正在检查返回值。
请注意,我try{...}catch (SecurityException){...}
从这篇文章中添加了作为建议:https ://stackoverflow.com/a/23631948/1423896 ,但这没有任何区别。