Findbugs - Method ignores exceptional return value
I am getting below Findbugs error for my below code. please let me know what needs to do for this?
Code:
public void myMethod(Key key, long timestampMillis) {
File file = createFile(key, timestampMillis);
boolean deleted = file.delete();
}
<<Package/classname>>
ignores exception开发者_开发技巧al return value of java.io.File.delete()
This method returns a value that is not checked. The return value should be checked since it can indicate an unusual or unexpected function execution. For example, the File.delete() method returns false if the file could not be successfully deleted (rather than throwing an Exception). If you don't check the result, you won't notice if the method invocation signals unexpected behavior by returning an atypical return value.
It's just letting you know that you're getting the output of file.delete()
and then throwing it away. If you need to know if the delete succeeded, then do something with the deleted
variable, otherwise your code is fine.
The annotation that is recommended to be used is:
@SuppressFBWarnings("RV_RETURN_VALUE_IGNORED")
You can add to the method header
@SuppressWarnings({"ResultOfMethodCallIgnored"})
or in Android Studio press
Alt+Enter
And click
SuppressWarnings("ResultOfMethodCallIgnored")
It's also working when posting as prefix before a line of code:
@SuppressWarnings("unchecked") (Unchecked)someUncheckedLineOfCode.getObject();
精彩评论