Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Gérer les erreurs

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

35 minutes

Le distributeur de billets

Tu tapes ton code. Tu te trompes, et la machine ne s’éteint pas. Elle te dit « code faux, réessaie ».

Un bon programme fait pareil. Quand quelque chose va mal, il le voit et il réagit. Il ne s’arrête pas net avec un message incompréhensible.

Mots-clés

MotCe que ça veut direExemple
ExceptionUne erreur qui arrive pendant que le programme tourne.ValueError
tryMot de Python qui dit : essaie ce bloc.try:
exceptMot de Python qui dit : si cette erreur arrive, fais ceci.except ValueError:
raiseMot de Python qui lance soi-même une erreur.raise ValueError("...")
SaisieCe que tape ou donne l’utilisateur. Elle peut être fausse."seize"

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Quand le programme plante

Certaines erreurs ne se voient pas en écrivant. Elles arrivent quand une valeur est mauvaise.

Par exemple int("seize") : « seize » n’est pas un nombre pour Python. Il lance une erreur de type ValueError et le programme s’arrête.

À toi : voir une erreur

Code: python
age = int("seize")
print("Tu as", age, "ans")

# Lance. Le programme s'arrête à la première ligne.
# Lis le message : ValueError, et la valeur qui pose problème.

Essayer, puis réagir

Avec try, tu dis à Python : essaie ces lignes. Avec except, tu dis ce qu’il faut faire si telle erreur arrive.

Si tout va bien, le bloc except est ignoré. Sinon, Python saute au except et le programme continue.

À toi : try et except

Code: python
texte = "seize"

try:
    age = int(texte)
    print("Tu as", age, "ans")
except ValueError:
    print("Ce n'est pas un nombre :", texte)

print("Le programme continue.")

# Remplace "seize" par "16" et relance.

Exemple travaillé : deux chemins possibles

Texte donnéCe que fait intChemin suiviCe qui est affiché
"16"rend 16le bloc try va jusqu’au boutTu as 16 ans
"seize"lance ValueErrorPython saute au exceptCe n’est pas un nombre : seize
""lance ValueErrorPython saute au exceptCe n’est pas un nombre : (rien)
"3.5"lance ValueErrorPython saute au exceptCe n’est pas un nombre : 3.5

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Contrôle rapide

À toi de jouer

Contrôle rapide

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

Plusieurs sortes d’erreurs

Chaque erreur a un nom. Diviser par zéro lance ZeroDivisionError. Un texte qui n’est pas un nombre lance ValueError.

Dans except, on écrit le nom de l’erreur qu’on attend. Les autres erreurs passent comme avant : on ne cache pas ce qu’on ne connaît pas.

La leçon continue

8 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.