Introduction aux erreurs

Python intermédiaire pour développeurs et développeuses

Jasmin Ludolf

Senior Data Science Content Developer

Qu’est-ce qu’une erreur ?

  • Code qui enfreint une règle
  • Erreur = Exception
  • Fait arrêter notre programme !

Hiérarchie de certaines exceptions Python

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Python intermédiaire pour développeurs et développeuses

TypeError

  • Type de données incompatible
"Hello" + 5

Sortie TypeError indiquant qu’on ne peut pas combiner chaînes et entiers

Python intermédiaire pour développeurs et développeuses

ValueError

float("Hello")

Sortie ValueError confirmant que la chaîne « Hello » ne peut pas être convertie en flottant

  • La valeur n’est pas dans un intervalle acceptable
float("2")

Sortie affichant le résultat 2.0 sans erreur

Python intermédiaire pour développeurs et développeuses

Tracebacks

Message de retraçage

Python intermédiaire pour développeurs et développeuses

Tracebacks

Message de retraçage mettant en évidence le type d’erreur

Python intermédiaire pour développeurs et développeuses

Tracebacks

Message de retraçage mettant en évidence le code à l’origine de l’erreur

Python intermédiaire pour développeurs et développeuses

Code dans les progiciels

  • Les progiciels contiennent du code d’autrui, p. ex. des fonctions personnalisées
  • Appelé code source
  • pip install <package> télécharge le code source dans notre environnement local
  • La fonction pd.read_csv() de pandas exécute en coulisse le code écrit pour cette fonction personnalisée
Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

# Import pandas package
import pandas as pd

# Create pandas DataFrame                 
products = pd.DataFrame({"ID": "ABC1",
                        "price": 29.99})

# Try to access the non-existent "tag" column
products["tag"]
Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

Retraçage après tentative de sous-ensemble d’un DataFrame pandas sur une colonne inexistante

Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

Retraçage indiquant le fichier ayant produit une erreur à l’exécution, ainsi que le type d’erreur KeyError

Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

Retraçage avec la ligne 3803 en surbrillance

Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

Retraçage avec base.py en surbrillance

Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

Retraçage avec KeyError en surbrillance

Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

Retraçage montrant la ligne de notre code à l’origine de l’erreur

Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

Retraçage montrant du code qui renvoie intentionnellement une erreur

Python intermédiaire pour développeurs et développeuses

Retraçages des progiciels

Retraçage avec Raised en surbrillance

Python intermédiaire pour développeurs et développeuses

Passons à la pratique !

Python intermédiaire pour développeurs et développeuses

Preparing Video For Download...