Изменнить функцию для обработки возможных исключений
Всем доброго времени Само задание: 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.
Под пользовательскими не очень понял какие ограничения. Можно проверку на совершеннолетие. Проверку адекватности возраста, если мы предполагаем, что тут описание реальных живых людей. От и до.