Findbugs - метод игнорирует исключительное возвращаемое значение - PullRequest
4 голосов
/ 20 июля 2011

Я получаю ниже ошибку Findbugs для моего кода ниже.пожалуйста, дайте мне знать, что нужно сделать для этого?

Код:

public void myMethod(Key key, long timestampMillis) {
        File file = createFile(key, timestampMillis);
        boolean deleted = file.delete();
    }

<<Package/classname>> игнорирует исключительное возвращаемое значение java.io.File.delete() Этот метод возвращает значениеэто не проверено.Возвращаемое значение должно быть проверено, поскольку оно может указывать на необычное или неожиданное выполнение функции.Например, метод File.delete () возвращает значение false, если файл не может быть успешно удален (вместо создания исключения).Если вы не проверите результат, вы не заметите, если вызов метода сигнализирует о неожиданном поведении, возвращая нетипичное возвращаемое значение.

Ответы [ 3 ]

7 голосов
/ 20 июля 2011

Это просто дает вам знать, что вы получаете вывод file.delete(), а затем выбрасываете его.Если вам необходимо узнать, успешно ли выполнено удаление, сделайте что-нибудь с переменной deleted, иначе ваш код в порядке.

1 голос
/ 19 ноября 2018

Рекомендуется использовать аннотацию:

@SuppressFBWarnings("RV_RETURN_VALUE_IGNORED")
1 голос
/ 14 июля 2016

Вы можете добавить в заголовок метода

@SuppressWarnings({"ResultOfMethodCallIgnored"})

или в Android Studio нажать

Alt + Enter

и нажать

SuppressWarnings("ResultOfMethodCallIgnored") 

Это также работает при публикации префикса перед строкой кода:

@SuppressWarnings("unchecked") (Unchecked)someUncheckedLineOfCode.getObject();
...