Проблема с кастомными ошибками в Python

Пробовал реализовать обработку кастомных ошибок в игре "крестики-нолики" через консоль, написал для них классы и функции, но ошибки не проверяются. Я начинающий программист, помогите, пожалуйста, кто знает, что нужно сделать. Прикрепляю кусок кода. На вход функции подается значение введенное пользователем, X или O в зависимости от того, чей сейчас ход, и список из чисел от 1 до 9.

class ValueErrror(Exception):
    def __str__(self) -> str:
        return "Введите число в диапазоне (1,9)"


class ValueNotInRangeError(Exception):
    def __str__(self) -> str:
        return "Число должно быть в диапазоне (1,9)"


# проверяем значение пользователя на соответствие условиям игры
def check_value_int(user_input: str) -> None:
    try:
        answer = int(user_input)
    except ValueError:
        raise ValueErrror


# проверяем значение пользователя на соответствие условиям игры
def check_value_range(answer: int) -> None:
    try:
        answer >= 1 and answer <= 9
    except IndexError:
        raise ValueNotInRangeError


# принимаем значение пользователя и проверяем его на соответствие условиям игры
def check_entry(user_input: str, token: str, board: List[Union[str, int]]) -> Union[str, List[Union[str, int]]]:
    while True:
        try:
            check_value_int(user_input)
        except ValueErrror as i:
            return i
        else:
            answer = int(user_input)
            try:
                check_value_range(answer)
            except ValueNotInRangeError as r:
                return r
            else:
                if str(board[answer-1]) not in "XO":
                    board[answer-1] = token
                    break
                else:
                        return "Эта клетка уже занята"
    return board

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