Accueil
 Sommaire du cours
 1  Introduction à Java
 2  Concepts de bases de Java
 3  Classes et objets en Java
 4  Généralisation spécialisation en Java
 5  Organisation des sources Java
 6  API Java
 7  Exceptions en Java
 7.1  Motivation: retours sur un bug
 7.2  Principes
 7.3  Réalisation
 7.3.1  java.lang.Exception
 7.4  Traitement des exceptions
 7.5  Exemple de traitement d'exceptions
 Questions
 8  Concepts objets avancés en Java
 Bibliographie

 Contacts

W3C validator

Département INF  
 Conception et programmation orientées objet


7.3 Réalisation

  • Classes dérivées de java.lang.Exception
  • Lever une exception consiste à :
    • Créer une instance d’une classe dérivée de java.lang.Exception
    • Déclencher le déroulement arrière des appels de méthodes qui ont menés à la méthode courante
    • Arrêter le déroulement arrière à la rencontre d’un bloc try catch pour ce type d’exception
    • S’il n’y a aucun bloc try catch l’exception remonte jusqu’à la machine virtuelle Java qui interrompt l’exécution
    • Lorsqu’un bloc try catch correspondant à l’exception est trouvé :
      • Les instructions suivantes du bloc try sont sautées
      • Les instructions du bloc catch qui correspond le mieux sont exécutées

    précédent     suivant 


Les exceptions sont des classes dérivées de la classe java.lang.Exception. Lever une exception consiste à créer une instance d’une classe dérivée de java.lang.Exception, puis à déclencher le déroulement arrière des appels de méthodes qui ont menées à la création de l’exception.

Ce déroulement arrière s’interrompt lorsqu’il rencontre un bloc try catch correspondant à ce type d’exception.

Si aucun bloc try catch n’est trouvé, alors l’exception remonte jusqu’à la machine virtuelle Java qui interrompt l’exécution du programme.

Lorsqu’un bloc try catch est trouvé, les instructions dans le bloc try qui suivent l’instruction qui a provoqué l’exception ne sont pas exécutées et le flux de contrôle passe à la première instruction de la partie catch dont la classe correspond le mieux à l’exception qui est reçue.

Christian Bac, Denis Conan, Télécom SudParis, CSC 4002, Octobre 2015