51 lines
1.7 KiB
Markdown
51 lines
1.7 KiB
Markdown
# EXO-JAVA-Gestion des exceptions
|
|
|
|
## Contexte
|
|
|
|
Dans cet exercice, vous améliorerez le système de bibliothèque existant en ajoutant une gestion robuste des exceptions. L'objectif est de rendre l'application plus fiable et maintenable grâce à une meilleure gestion des erreurs.
|
|
|
|
## Objectifs
|
|
|
|
1. Créer une hiérarchie d'exceptions personnalisées
|
|
2. Améliorer la gestion des erreurs dans la classe Bibliothèque
|
|
3. Implémenter une validation robuste des données
|
|
4. Tester la gestion des exceptions
|
|
|
|
## Tâches
|
|
|
|
### 1. Création des exceptions personnalisées
|
|
|
|
- Créer une classe `BibliothequeException` qui étend `Exception`
|
|
- Implémenter les sous-classes suivantes :
|
|
- `LivreNonDisponibleException` : lancée quand un livre n'est pas disponible
|
|
- `LivreDejaEmprunteException` : lancée quand un livre est déjà emprunté
|
|
- `DonneesInvalidesException` : lancée quand les données sont invalides
|
|
|
|
### 2. Amélioration de la classe Bibliothèque
|
|
|
|
- Modifier les méthodes existantes pour utiliser les nouvelles exceptions
|
|
- Ajouter des blocs try-catch appropriés
|
|
- Implémenter une validation des données d'entrée
|
|
|
|
### 3. Gestion des erreurs de saisie
|
|
|
|
- Créer une classe `ValidationUtil` avec des méthodes statiques pour :
|
|
- Valider les titres de livres (non null, non vide)
|
|
- Valider les noms d'auteurs (non null, non vide)
|
|
- Valider les dates d'emprunt (format correct)
|
|
|
|
## Critères de validation
|
|
|
|
- Le code compile sans erreur
|
|
- Les exceptions sont correctement gérées
|
|
|
|
## Livrables
|
|
|
|
1. Les classes d'exceptions
|
|
2. La classe Bibliothèque modifiée
|
|
3. La classe ValidationUtil
|
|
4. La documentation JavaDoc
|
|
|
|
## Bonus
|
|
|
|
- Ajouter un système de logging pour tracer les exceptions |