Изменнить функцию для обработки возможных исключений

Всем доброго времени Само задание: You have the following function (У вас есть функция):

def retrieve_age(person):
  return int(person["age"])

Modify this function to handle possible exceptions (Измените эту функцию для обработки возможных исключений) Какие еще можно добавить исключения в мой код, так же надо добавить пользовательские исключения (2шт)

class CustomError(Exception):
    pass


class UsersError(CustomError):
    pass


def retrieve_age(person):
    try:
        age = int(person["age"])
        assert age > 0
        return int(person["age"])
    except AssertionError:
        return "Assertion Error - enter a positive age"
    except ValueError:
        return "Value Error - enter numbers"


print(retrieve_age({"age": 42}))

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

Автор решения: Alpensin

AssertionError не надо и assert вообще. Это специфические исключения для отладки.

Еще можно добавить KeyError - если нет ключа age.

TypeError - если age не int.

Под пользовательскими не очень понял какие ограничения. Можно проверку на совершеннолетие. Проверку адекватности возраста, если мы предполагаем, что тут описание реальных живых людей. От и до.

→ Ссылка