Exceptions
Python ↔ Baobab
14 correspondances
essayer/attraper/enfin traduisent try/except/finally, lever traduit raise. Les erreurs standard portent des noms français : ErreurValeur pour ValueError, etc.
| Python | Baobab | Description |
|---|---|---|
| try: | essayer: | Bloc surveillé. |
| except ValueError as e: | attraper ErreurValeur comme e: | Attrape un type d'erreur précis. |
| except Exception: | attraper Erreur: | Attrape toute erreur. |
| finally: | enfin: | Toujours exécuté, erreur ou pas. |
| raise ValueError("msg") | lever ErreurValeur("msg") | Déclenche une erreur volontairement. |
| ValueError | ErreurValeur | Valeur invalide (ex. entier("abc")). |
| TypeError | ErreurType | Opération sur un type incompatible. |
| IndexError | ErreurIndice | Indice hors des bornes d'une séquence. |
| KeyError | ErreurCle | Clé absente d'un dictionnaire. |
| ZeroDivisionError | ErreurDivisionZero | Division par zéro. |
| FileNotFoundError | ErreurFichierIntrouvable | Fichier inexistant à l'ouverture. |
| NameError | ErreurNom | Nom jamais défini (souvent une faute de frappe). |
| AttributeError | ErreurAttribut | Attribut ou méthode inexistant sur l'objet. |
| class MonErreur(Exception): | classe MonErreur(Erreur): | Erreur personnalisée par héritage. |
Exemple complet - Baobab ↔ Python
Baobab
1234567891011121314151617181920fonction diviser(a, b):
si b == 0:
lever ErreurValeur("b ne peut pas être zéro")
retourner a / b
essayer:
afficher(diviser(10, 2)) # → 5.0
afficher(diviser(1, 0)) # lève l'erreur
attraper ErreurValeur comme e:
afficher(f"Problème : {e}")
attraper Erreur:
afficher("Autre erreur inattendue")
enfin:
afficher("Calcul terminé") # toujours exécuté
essayer:
notes = {"maths": 15}
afficher(notes["chimie"])
attraper ErreurCle:
afficher("Matière inconnue")Python
1234567891011121314151617181920def diviser(a, b):
if b == 0:
raise ValueError("b ne peut pas être zéro")
return a / b
try:
print(diviser(10, 2)) # → 5.0
print(diviser(1, 0)) # raises the error
except ValueError as e:
print(f"Problème : {e}")
except Exception:
print("Autre erreur inattendue")
finally:
print("Calcul terminé") # always executed
try:
notes = {"maths": 15}
print(notes["chimie"])
except KeyError:
print("Matière inconnue")