В настоящее время узнаем о попытках и исключениях и попытках отловить ошибки с делением на числа
Это мой код:
def divide(a, b):
try:
return a/b
except ZeroDivisionError:
return "dividing by zero not possible "
except TypeError:
return "a and b must both be integers"
except NameError:
return "a and b must both be integers"
print(divide(2,a))
, но по какой-то причине он не перехватывает TypeError и NameError, когда я делаю второе значение 'a' и возвращает эту ошибку:
Traceback (most recent call last):
File "d:/Python/Learning-Python/Section 18/Section_18_errors.py", line 24, in <module>
print(divide(2,a))
NameError: name 'a' is not defined
Моя попытка и ожидание ловит NameError, верно? Разве он не должен возвращать "a и b должны быть целыми числами"