アプリに次のコードがあります。
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");
}
(Android Studioで)findbugsを実行すると、報告されます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、しかし違いはありません。