Findbugs сообщает о загрузке известного нулевого значения при проверке аргумента конструктора


При сканировании следующего кода с помощью findbugs он сообщает Dodgy code: NP: Load of known null value in new ....(в строке, где создается новое исключение)

Иногда требуется проверить null перед инициализацией объекта. Почему это считается "сомнительным"??

public class Employee{

  @Valid
  private Department dept;

  @JsonCreator
  public Employee(@JsonProperty(value = "department", required = true) Department aDepartment)
      throws EmpServiceException{
    if (aDepartment == null) {
      throw new EmpServiceException(aDepartment, "Invalid Request");
    }
    this.dept= aDepartment;
  }
1 4

1 ответ:

Я предполагаю, что FindBugs указывает на то, что строка, в которую вы бросаете исключение

throw new EmpServiceException(aDepartment, "Invalid Request");

Эквивалентно

throw new EmpServiceException(null, "Invalid Request");

И хочет, чтобы вы использовали последнее. Является ли первый аргумент для этого конструктора EmpServiceException аннотированным @NonNull?