Я получаю следующее сообщение об ошибке: FindBugsКак решить проблему findbug: Null перевалил за ненулевой параметр
«Метод вызова проходит нуль для ненулевого параметра: Null передается для ненулевого параметра getApiStatus (ApiResponse)»
Если apiResponse имеет значение null в методе CallApi (для краткости здесь не показано), он просто выдает исключение, которое попадает в handleApiException и снова бросается, если мы ничего не можем сделать об исключении.
Невозможно передать пустое значение для apiResponse в метод getApiStatus() в botton этого фрагмента кода. Как я могу указать findbugs, что это так, не выполняя еще одну проверку нуля поверх нулевой проверки, которая выполняется в методе apiService.CallApi? Я пробовал использовать аннотацию NonNull, но это не решило проблему. Вот этот код:
ApiResponse apiResponse = null;
try {
apiResponse = apiService.CallApi(apiURL, requestObject);
}
catch (ApiException ex) {
handleApiException(ex);
}
boolean apiStatus = getApiStatus(apiResponse);
Любые идеи?
Я закончил свой второй вариант, потому что хотел обработать ApiException на текущем уровне, а не передавать его бизнес-классу. Благодарим за подробный анализ и предоставим несколько вариантов. – greenJavaDev