Bonjour.

Je fais un tuto sur python (3.8) et j'arrive à intercepter certaines erreurs mais pas toutes !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
def divide42by(divideby):
    try:
        return 42 / divideby
    except ValueError:
        print ('ValueError:ValueError : invalid literal for int() with base 10: \'d\'')
    except ZeroDivisionError:
        print ('ZeroDivisionError : division by zero')
 
while True:
    nb = int(input('Enter a number : '))
    print (divide42by(nb))
Me donne ceci :

>>> %Run divideby42.py
Enter a number : 5
8.4
Enter a number : 0
ZeroDivisionError : division by zero
None
Enter a number : s
Traceback (most recent call last):
File "/home/pi/Documents/divideby42.py", line 10, in <module>
nb = int(input('Enter a number : '))
ValueError: invalid literal for int() with base 10: 's'
Pourquoi la "ValueError: " n'est-elle pas interceptée ?