Je reviens enquiquiner avec un truc que je ne comprends pas

j'étudie en ce moment les messages d'erreurs avec "try" et "except"

mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#! /bin/python
 
numerateur = input("entrer un numerateur -> ")
denominateur = input("entrer un denominateur -> ")
 
try:
	resultat = numerateur / denominateur
except NameError:
    print("La variable numerateur ou denominateur n'a pas été définie.")
except TypeError:
    print("La variable numerateur ou denominateur possède un type incompatible avec la division.")
except ZeroDivisionError:
    print("La variable denominateur est égale à 0.")
else:
	print("resultat = ", numerateur / denominateur)
le terminal

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
mbp-de-admin:dev_python admin$ python3 ./test_try.py
entrer un numerateur -> 
entrer un denominateur -> 
La variable numerateur ou denominateur possède un type incompatible avec la division.
mbp-de-admin:dev_python admin$ python3 ./test_try.py
entrer un numerateur -> k
entrer un denominateur -> k
La variable numerateur ou denominateur possède un type incompatible avec la division.
mbp-de-admin:dev_python admin$
si je n'entre rien ou si j'entre des lettres, j'obtiens le même message d'erreur. Or, dans le cas où je n'entre aucune valeur, ne devrais je pas avoir un message d'erreur de type "NameError" ?