Maintenant que vous traitez des données portfolio réelles (fichiers CSV, calculs financiers, map sur plusieurs actions), vous vous rendez compte que plein de choses peuvent mal se passer : fichier portfolio corrompu, prix manquants, divisions par zéro dans vos calculs de rendement. Vous voulez que votre application continue de fonctionner même avec des données imparfaites.
La gestion d'exceptions devient concrète quand vous avez de vraies opérations qui peuvent échouer. Avec votre portfolio réel, vous pouvez maintenant gérer des cas d'erreur réalistes : que faire si le prix d'achat AAPL est 0 ? Si le fichier portfolio est corrompu ? Si une action n'a pas de prix actuel ?
Sécurisez toutes vos opérations portfolio contre les erreurs de données réelles.
Créez portfolio_exceptions.py qui sécurise vos opérations :
ErreurDonneesPortfolio- exception personnalisée pour les erreurs portfoliocharger_portfolio_securise(fichier)- version sécurisée du chargementcalculer_gains_securise(positions, prix_actuels)- version sécurisée des calculs
Sécurisez maintenant toutes vos fonctions des étapes 1-4 ! En réalité, il y a plein d'exceptions à gérer. Avec les nombres notamment, il y a toujours des exceptions (comme la ZeroDivisionError). Et plein d'autres... 4. Gérer les erreurs et exceptions de la manière la complète possible mais surtout, souvenez-vous de continuer à les gérer (notamment plus tard lorsque vous ferez intervenir un élément extérieur à votre programme, comme une API)
# Testez avec des données corrompues
positions_problematiques = [
Position('AAPL', 10, 0.0, '2023-01-15'), # Prix d'achat = 0 !
Position('INVALID', 5, 100.0, '2023-02-01'), # Symbole inexistant
Position('GOOGL', -10, 2500.0, '2023-03-01') # Quantité négative !
]- Une gestion robuste des erreurs
- Tests avec vos données portfolio corrompues
- Messages d'erreur utiles pour chaque cas