Как предотвратить отрицательные значения из файла JSON (Java) - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь создать консольное приложение java, которое генерирует некоторые отчеты, и я провожу некоторые проверки, если значения в файле данных json отрицательны, и я не хочу быть отрицательным (например: имя сотрудника не может быть нулевым)

Я попытался установить значение в Setter, потому что поле имени является приватным.Затем я запустил приложение с отрицательным значением в файле json, которое я извлекаю из него, и оно не выдает исключение и сообщение о том, что я был объявлен

public void setName(String name) {
    if (name == null) {
        throw new IllegalArgumentException("The Employee's name cannot be null.");
    }

    this.name = name;
}

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Я изменил ваш конструктор Employee на это: перехватывать все исключения.

public Employee(String name, int totalSales, int salesPeriod, double experienceMultiplier) {
        try {
            this.setName(name);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
        try {
            this.setTotalSales(totalSales);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
        try {
            this.setSalesPeriod(salesPeriod);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
        try {
            this.setExperienceMultiplier(experienceMultiplier);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
    }
0 голосов
/ 10 июня 2019

Вероятно, параметр имени, переданный в методе, не является нулевым.

public void setName(String name) {
    if (name == null || name.isEmpty()) {
        throw new IllegalArgumentException("The Employee's name cannot be null.");
    }

    this.name = name;
}

Добавьте условия к оператору if , который должен быть выдан как исключение.

...