Как избежать дублирования кода при создании исключения

Есть класс предмет (Subject), у которого есть поле оценка (assessment). Оценка должна быть от 1 до 10 (оба числа включительно), в ином случае должно выбрасываться исключение (AssessmentException). В коде ниже исключение выбрасывается в конструкторе, так что можно присвоить оценке некорректное значение с помощью сеттера.
Вопрос следующий: Можно ли разрешить ситуацию, не дублируя if с выбрасыванием исключения в сеттере?

public class Subject {
    private int assessment;

    public Subject(int assessment) throws AssessmentException {
        this.assessment = assessment;
        if (assessment <= 0 || assessment > 10) throw new AssessmentException();
    }

    public void setAssessment(int assessment) {
        this.assessment = assessment;
    }
}

Ответы (1 шт):

Автор решения: Имя Фамилия
public class Subject {
    private int assessment;

    public Subject(int assessment) throws AssessmentException {
        setAssessment(assessment);
    }

    public void setAssessment(int assessment) throws AssessmentException {
        if (assessment < 1 || assessment > 10)
            throw new AssessmentException();
        this.assessment = assessment;
    }
}
→ Ссылка