Retour au cours

Créer des classes d'exception personnalisées

Programmation Python : Le Bootcamp de Zéro à Héros

Classes d'exception personnalisées

Pour les applications professionnelles, se fier uniquement aux exceptions intégrées comme ValueError peut être ambigu. La meilleure pratique consiste à définir vos propres classes d'exception spécifiques pour rendre la gestion des erreurs plus claire.

Comment créer une exception personnalisée

Votre classe d'exception personnalisée doit hériter de la classe standard Exception ou d'une exception intégrée plus spécifique (ex: ValueError).

python

1. Définir la classe d'exception personnalisée

class InsufficientFundsError(Exception): """Levée lorsqu'une transaction dépasse le solde disponible.""" def init(self, required, available, message="Fonds insuffisants pour la transaction."): self.required = required self.available = available self.message = message super().init(self.message)

2. Utiliser l'exception personnalisée dans une fonction

def withdraw(balance, amount): if amount > balance: # Lever l'exception personnalisée raise InsufficientFundsError(required=amount, available=balance)

return balance - amount

3. Gérer l'exception personnalisée

initial_balance = 100 try: new_balance = withdraw(initial_balance, 200) print(f"Nouveau solde : {new_balance}") except InsufficientFundsError as e: print(f"Transaction échouée : {e.message}") print(f"Besoin de {e.required} €, solde de seulement {e.available} €.")