Quelle est la différence entre une erreur de syntaxe et une exception en Python ?
Les erreurs en Python se divisent en deux catégories principales :
-
Les erreurs de syntaxe
-
Les exceptions.
La différence réside dans la source de l'erreur et la manière dont elle est traitée.
Les erreurs de syntaxe sont dues à une mauvaise utilisation de la langue Python. Elles sont détectées lors de la phase de compilation, avant que le programme ne s'exécute. Les erreurs de syntaxe entraînent l'arrêt du programme. Par exemple:
if x = 5: # Erreur de syntaxe: on doit utiliser '==' pour comparer, pas '='
print("x est 5")
Les exceptions, en revanche, sont des erreurs qui se produisent lors de l'exécution du programme. Elles sont causées par des conditions non anticipées, comme des erreurs logiques, ou des problèmes avec les entrées. Par exemple:
print(5 / 0) # Lève une exception (ZeroDivisionError)
Les exceptions peuvent être gérées à l'aide de blocs try-except pour éviter que le programme ne s'arrête:
try:
print(5 / 0)
except ZeroDivisionError:
print("Division par zéro non autorisée")