Sobes.tech
Junior

Comment relancer une exception dans un bloc except ?

sobes.tech IA

Réponse de l'IA

Pour relancer une exception gérée dans un bloc except, il suffit d'utiliser le mot-clé raise sans argument. Cela permettra à l'exception de remonter dans la pile d'appels après l'exécution du code dans le bloc except.

try:
    # Code pouvant générer une exception
    result = 1 / 0
except ZeroDivisionError as e:
    # Gestion de l'exception (par exemple, journalisation)
    print(f"Erreur de division par zéro : {e}")
    # Relancer l'exception
    raise

Si vous devez lancer une autre exception ou ajouter des informations à celle en cours, vous pouvez utiliser raise exception from l_exception_courante.

try:
    # Code pouvant générer une exception
    data = {}
    value = data['key']
except KeyError as e:
    # Exception KeyError capturée
    print(f"Erreur d'accès par clé : {e}")
    # Lancer une nouvelle exception, en la liant à l'originale
    raise ValueError("Format de données incorrect") from e