12/04/2017 12 Les exceptions Cours 11 Cours 11.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Formation universitaire à .NET: Introduction à C#
Spécialisation/généralisation Héritage Polymorphisme.
Spécialisation/généralisation Héritage Polymorphisme
Le mécanisme des exceptions
Gestion des événements (suite)
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Au programme du jour …. Livraison de code Organisation des répertoires et packages Ce que vous navez pas encore vraiment vu Constantes et variables de.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Des exceptions Définition signal lancé par une instruction ou un bloc dinstructions pouvant être rattrapé analysé par une autre instruction, ou un autre.
gestion des exceptions
Programmation Web Les JSP.
(Classes prédéfinies – API Java)
Introduction à Java - les exceptions -
Dernière scéance: Des question?????? + Deux exercices.
Programmer en JAVA par Tama
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
1 Le mécanisme des exceptions Qu'est-ce qu'une exception? Comment définir et signaler des exceptions? Comment récupérer des exceptions?
Chapitre IV Object, interfaces, classes imbriquées.
Traitement des erreurs en Java
Javascript les spécificités du langage - Partie 7 -
Principes de programmation (suite)
Tests Programmation par contrats
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Écouteurs de click d'une fenêtre
Les exceptions. Quest ce quune exception ? Une erreur dans le programme Due à un bug ou un cas « anormal » Gestion complète en java : JVM Dans dautre.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Java : Héritage & Exceptions
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Page de garde C++ Les exceptions Maîtrise dinformatique Février 2002.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Introduction au paradigme orienté-objet (suite)
Gestion et levée dexception. Une exception est un message envoyé par une méthode à une autre méthode. La méthode qui la reçoit a le choix de soccuper.
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Exceptions IFT1025: Programmation 2 Jian-Yun Nie.
Cours 8 (18 novembre 2011) exceptions. héritagePOO-L3 H. Fauconnier2 Tableau et héritage Y[] yA=new Y[3]; X[] xA=yA; //ok xA[0]=new Y(); xA[1]=new X();
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI1502 Principes fondamentaux en conception des logiciels Chapter 8: Gestion des exceptions.
Java, les objets : tout de suite ! Rassembler, grouper les objets
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
1111 Gestion des exceptions Objectifs À la fin de ce cours, vous serez capables de : • Expliquer les concepts de base de la gestion des exceptions.
Exceptions B. Liskov, Program Development in Java, chap. 4 Exceptions.
Propriétés. Propriétés ► Les propriétés peuvent être visibles dans les environnements de scripts ► Les propriétés peuvent être accédées par programmation.
Cours 61 6 La sécurité, Portée, Visibilité Programmer avec sécurité.
Cours 9 Exceptions (fin) Généricité. POO-L3 H. Fauconnier2 Chaînage d'exceptions  Une exception peut être causée par une autre.  il peut être utile.
GESTION ET TRAITEMENT DES ERREURS
Java : Exceptions H Batatia. 5/03/2004Java12: H.Batatia2 Exemple 1 public class Bonjour { public static void main(String[] args) { System.out.println("Bonjour.
11/04/ L'héritage Cours 7 Cours 7.
Notions avancées du C++
Cours 7 Classes locales Clonage Divers: tableaux.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Tutorat en bio-informatique
Entrées / Sorties.
Les sockets.
Schéma de conception Factory Method Exemple Sylvain Giroux.
Cours du 5 novembre.
6ième Classe (Mercredi, 17 novembre) CSI2572
Traitement des erreurs en Java: les exceptions
1 Complément JAVA les assertions. 2 lan Tests et erreurs Assertions en Java Utilisation Bonne pratique des assertions.
1 COURS DE PROGRAMMATION ORIENTEE OBJET : Exceptions.
Classes abstraites, interface Classe interne Classes enveloppes
Langage et Concepts de Programmation Orientée-Objet Pôle Informatique 2007/2008 École Nationale Supérieure des Mines de Saint-Étienne Laurent Vercouter.
Exception Handling "Unfortunately, it's almost accepted practice to ignore error conditions, as if we're in a state of denial about errors." Bruce Eckel.
Les exceptions Le mécanisme des exceptions est destiné à permettre aux fonctions profondes d'une bibliothèque de notifier la survenue d'une erreur aux.
Transcription de la présentation:

12/04/2017 12 Les exceptions Cours 11 Cours 11

Plan du cours 11 Définition Catégories Vocabulaire Avantages La syntaxe Exemple Ce qui se passe Classement des exceptions Délégation de la gestion d'une exception : throws Création d’une exception personnalisée API java.lang.Throwable API java.lang.Exception Cours 11

Définition Evénement rare qui nous contraint à perturber le déroulement habituel (séquences, répétitions…) des opérations. Ce n’est pas nécessairement une erreur. Ex : fin de fichier. Correspond souvent à une erreur possible (saisie incorrecte…). Peut être utilisée pour traiter des cas particuliers. Cours 11

12/04/2017 Catégories Par souci de sécurité, Java nous contraint à citer certains cas d’anomalies. Les événements exceptionnels sont classés en deux catégories : Ceux que l’on doit citer, les checked exceptions. Ceux que l’on peut citer. Java ne nous contraint pas à traiter les exceptions. On peut ne pas traiter l’exception : cela signifie que le bloc catch peut être vide même si Java nous oblige à le mettre. Cours 11 Cours 11

Vocabulaire try essayer (d’exécuter des instructions). 12/04/2017 Vocabulaire try essayer (d’exécuter des instructions). catch attraper, capter, ici traiter le cas exceptionnel. Java « lève » une exception, c’est-à-dire déclenche un événement lorsque la situation se produit. throw lancer, propager, diffuser. Cours 11 Cours 11

Avantages Ce mécanisme va dans le sens de la sécurité. 12/04/2017 Avantages Ce mécanisme va dans le sens de la sécurité. Il permet une programmation plus propre c’est-à-dire plus lisible. Cours 11 Cours 11

12/04/2017 La syntaxe try { Instructions susceptibles de lever des exceptions que l'on souhaite ou que l'on doit traiter } catch (Type1 d'exception exc) { Traitement de cette exception } ……… catch (Type2 d'exception exc) { Traitement de cette exception } finally { bloc exécuté systématiquement s'il est présent } L'instruction finally est facultative mais, si elle est présente, elle est systématiquement exécutée après le try qu'il y ait exception ou non. On peut y placer les fermetures de flux. exc est ici un nom formel. A développer C’est un paramètre formel donc son nom n’a pas d’importance. C’est un paramètre d’entrée. Cours 11 Cours 11

12/04/2017 Exemple int x, y, z ; ………………… try { z = x/y ; // division éventuelle par zéro } catch (ArithmeticException exc) { System.out.println("Division par séro") ; } …… Cours 11 Cours 11

12/04/2017 Ce qui se passe Lorsqu'une exception apparaît, Java crée un objet typique du problème rencontré et le diffuse. Tous ces objets appartiennent à une classe dérivée de Throwable. Cet objet peut être capté et traité par le bloc catch approprié. Si aucun catch ne convient, l'exception est propagée vers le bloc englobant ou est recherché un catch convenable. Et ainsi de suite… jusqu’à, éventuellement, la prise en compte par la machine virtuelle Java. Crée un objet, c’est-à-dire un ensemble de données (structure de données) et de méthodes associées. On trouve dans la structure de données toutes les caractéristiques de l’événement, l’heure… Lorsque le problème est pris en compte par la machine virtuelle, l’exécution s’arrête. Cours 11 Cours 11

Classement des exceptions 12/04/2017 Classement des exceptions Throwable Error Exception IOException CloneNot Supported Exception RunTime Exception Checked exceptions On peut créer ses propres classes d’exceptions. Un objet exception est toujours une instance d’une sous-classe de Throwable. NullPointer Exception EOF Exception FileNot Found Exception Illegal Argument Exception Number Format Exception Cours 11 Cours 11

Exceptions devant obligatoirement être signalées : IOException 12/04/2017 Exceptions devant obligatoirement être signalées : IOException EOFException FileNotFoundException CloneNotSupportedException Quelques exceptions qui peuvent ne pas être signalées : RunTimeException IllegalArgumentException NumberFormatException ArithmeticException IndexOutOfBoundsException NullPointerException D'une manière générale toutes les exceptions de la classe RunTimeException ne doivent pas être signalées. Cours 11 Cours 11

Délégation de la gestion d'une exception : throws 12/04/2017 Délégation de la gestion d'une exception : throws Lorsqu'une méthode ne traite pas une exception qui doit être contrôlée, elle doit déléguer ce traitement au bloc appelant. Pour ce faire, on utilise la clause throws (notez le "s"). Exemple : void maMéthode(String s) throws IOException {…………} Cours 11 Cours 11

Exemple Cours 11

Création d’une exception personnalisée On peut souhaiter traiter un problème en utilisant le mécanisme des exceptions. Il suffit de se donner la possibilité de créer des objets de la classe Exception. Pour ce faire, on crée une classe qui dérive du type d’exception le plus approprié ou tout simplement de Exception. Cours 11

Il suffit alors de créer et capturer l’exception: 12/04/2017 class MonException extends Exception { MonException (String message) { super(message); } } //----------------------------------------------------------------------------------- Il suffit alors de créer et capturer l’exception: try { if(………) // On suppose que l’exception peut se produire ici throw new MonException(“mon message”) ; … } catch (MonException ex) { // Traitement approprié … } …….. Développer un exemple Cours 11 Cours 11

API java.lang.Throwable 12/04/2017 API java.lang.Throwable Throwable() Constructs a new throwable with null as its detail message. Throwable(String message) Constructs a new throwable with the specified detail message.  String getMessage() Returns the detail message string of this throwable. Cours 11 Cours 11

API java.lang.Exception Exception()  Constructs a new exception with null as its detail message. Exception(String message) Constructs a new exception with the specified detail message. Cours 11