Исключение выдается за пределами вашей функции. Когда вы звоните:
high_low(a, 7)
Python должен первый найти значение a
для передачи high_low
. Но a
не определено. Таким образом, вы можете сделать:
try:
high_low(a, 7)
except NameError as e:
# Do something here
Сказав все это - это, вероятно, не очень хороший способ использовать исключения. В вашем коде есть ошибка - переменная a
не определена, поэтому вы не можете передать ее значение high_low
. Вероятно, нет никакого способа восстановиться после этого и, следовательно, нет причин пытаться поймать исключение.