0Pricing
Python Academy · Leçon

Comprendre les exceptions

Découvrez ce que sont les exceptions et comment Python les déclenche.

Comprendre les exceptions est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Introduction

Les exceptions sont le mécanisme de Python pour signaler et gérer les erreurs à l’exécution.

Qu’est-ce qu’une exception ?

Une exception est un événement qui interrompt le déroulement normal d’un programme. Python lève des exceptions lorsque des erreurs se produisent, par exemple lors d’une division par zéro.
# 1 / 0  # raises ZeroDivisionError
print('exceptions demo')

Hiérarchie des exceptions

Toutes les exceptions héritent de BaseException. La plupart de celles destinées à l’utilisateur héritent d’Exception. Types spécifiques : ValueError, TypeError, KeyError, etc.
print(issubclass(ValueError, Exception))
print(issubclass(Exception, BaseException))

Exceptions intégrées courantes

TypeError : type incorrect. ValueError : type correct, valeur incorrecte. KeyError : clé absente du dictionnaire. IndexError : index de liste hors limites. AttributeError : attribut inexistant.
# Examples:
# int('abc')       -> ValueError
# d['missing']     -> KeyError
# [1,2][9]         -> IndexError
print('common exceptions')

La trace d’exécution

Lorsqu’une exception n’est pas gérée, Python affiche une trace d’exécution : la pile d’appels, du bas (le plus récent) vers le haut. Apprenez à la lire.
def f(): return 1/0
# f()  # shows traceback
print('traceback demo')

Objet exception

Chaque exception contient un message. str(e) ou e.args donne la description. Dans un bloc except, accédez-y ainsi : except ValueError as e.
try:
    int('abc')
except ValueError as e:
    print(type(e).__name__, e)

Intercepter plusieurs types

except (TypeError, ValueError): intercepte l’un ou l’autre type dans une seule clause.
def parse(x):
    try:
        return int(x)
    except (TypeError, ValueError):
        return None
print(parse('abc'), parse(None))

Le groupe d’exceptions (3.11+)

Python 3.11 ajoute ExceptionGroup pour gérer plusieurs exceptions simultanées, avec la syntaxe except*.
# Python 3.11+:
# try: ...
# except* ValueError as eg:
#     print(eg.exceptions)
print('exception group demo')

Avertissements et exceptions

import warnings; warnings.warn('msg') émet un avertissement sans lever d’exception. Utilisez-le pour les dépréciations et les erreurs non bloquantes.
import warnings
warnings.warn('This is deprecated', DeprecationWarning)
print('warning issued')

sys.exc_info()

Dans un bloc except, sys.exc_info() renvoie (type, value, traceback) — c’est utile pour journaliser tous les détails d’une exception.
import sys
try:
    1/0
except:
    exc_type, exc_val, _ = sys.exc_info()
    print(exc_type, exc_val)

Chaînage des exceptions

raise NewError('msg') from original enchaîne les exceptions. L’attribut __cause__ les relie.
try:
    int('abc')
except ValueError as e:
    raise RuntimeError('parse failed') from e

Vérification rapide

Quelle exception est levée lorsque vous accédez à un dictionnaire avec une clé qui n’existe pas ?

Récapitulatif

Les exceptions héritent de BaseException. Lisez les traces d’exécution de bas en haut. Interceptez-les avec except as e. Types courants : ValueError, TypeError, KeyError, IndexError, AttributeError.

Poursuivez

Excellent travail ! Passez à la leçon suivante pour continuer votre progression.

Questions Fréquemment Posées

La leçon « Comprendre les exceptions » est-elle gratuite ?

Oui — le texte complet de « Comprendre les exceptions » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Comprendre les exceptions » ?

Découvrez ce que sont les exceptions et comment Python les déclenche. Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Comprendre les exceptions » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Comprendre les exceptions
  2. try / except / else / finally
  3. Lever et relancer des exceptions
  4. Classes d’exception personnalisées
← Retour à Python Academy