Skip to content
Snippets Groups Projects
Select Git revision
  • 3f5fae36beefdc29de7d1fe814d18f4adc584340
  • master default protected
2 results

TD9.md

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.

    Ces exercices portent sur la gestion des exceptions. Le contexte est la gestion des livres d'une bibliothèque, qui n'est pas un exemple très pertinent pour l'utilisation d'exceptions, mais qui a l'avantage d'être relativement simple pour apprendre les bases de la manipulation des exceptions.

    La bibliothèque Library possède une collection de livres Book, et les clients peuvent venir emprunter un ou plusieurs livres (méthodes checkoutBook et checkoutBooks). Un livre peut donc être disponible ou indisponible (classe BookStatus), ou bien ne pas faire partie de la bibliothèque.

    Si un client veut emprunter un livre déjà prêté, l'exception BookUnavailableException sera levée. Si le livre n'est pas possédé par la bibliothèque, l'exception BookNotFoundException sera levée.

    Exercice 1

    Compléter les 2 extensions BookNotFoundException (possédant un code ISBN) et BookUnavailable (possédant un livre) de la classeBookException. Assurez-vous que la méthode getMessage de chacune délivre un message adapté et mentionnant soit le code ISBN, soit le livre concerné.

    Exercice 2

    Compléter la méthode findBook de la classe Library. Elle doit retourner le livre dont le code ISBN est fourni. S'il n'existe pas un tel livre, il faut émettre l'exception BookNotFoundException. Ajouter la déclaration d'exception à la méthode.

    Exercice 3

    Compléter la méthode checkBookStatus de la classe Library, retournant le status d'un livre précisé par son code ISBN. Si le livre n'existe pas, l'exception BookNotFound sera émise. Ajouter la déclaration d'exception à la méthode.

    Exercice 4

    Compléter la méthode checkoutBook de la classe Library. La méthode vérifie l'existence et la disponibilité du livre (donné par son code ISBN), et modifie alors son status à BORROWED. Si les conditions ne sont pas respectées, la méthode émet l'exception appropriée. Ajouter la déclaration d'exception à la méthode.

    Exercice 5

    Compléter la méthode isCompletelySuccessful de la classe BulkCheckoutResult. Cette classe contiendra les résultats de la réservation d'une liste de livres, comprenant :

    • la liste des livres empruntés;
    • la liste des échecs des tentatives d'emprunt.

    Exercice 6

    Compléter la méthode checkoutBooks de la classe Library.

    Vérifier votre travail à l'aide des tests fournis.