Gestion des exceptions

Documents pareils
Programmer en JAVA. par Tama

LOG4430 : Architecture logicielle et conception avancée

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Sécurité Java 2. Première approche. Installation des exemples. Exemple d'une applet

Programmation Objet Java Correction

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

LOG4430 : Architecture logicielle et conception avancée

ELECTIONS. Mode d Emploi

Programmation Par Objets

Auto-évaluation Programmation en Java

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

La gestion des exceptions

Création d un service web avec NetBeans 5.5 et SJAS 9

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Maîtriser le menu contextuel dans un OfficeBean

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

F. Barthélemy. 17 mai 2005

Publier les actes d un colloque. en 10 points

Exploitation de bases de données relationnelles et orientées objet IFT287

RMI le langage Java XII-1 JMF

Remote Method Invocation (RMI)

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

1. Langage de programmation Java

Un ordonnanceur stupide

Initiation à la programmation orientée-objet avec le langage Java

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Session 8: Android File System

Plan du cours. Historique du langage Nouveautés de Java 7

JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA

Architecture Orientée Service, JSON et API REST

Java Licence Professionnelle CISII,

Cloud Computing : Généralités & Concepts de base

Java RMI. Arnaud Labourel Courriel: Université de Provence. 8 mars 2011

Traitement de données

Notion de thread (1/2)

1 Définition d une classe en Java

Derrière toi Une machine virtuelle!

Remote Method Invocation Les classes implémentant Serializable

Documentation CAS à destination des éditeurs

Chapitre 10. Les interfaces Comparable et Comparator 1

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

Quelles sont les informations légales à faire figurer sur un site Internet?

Sauvegarder la base de données de Drupal avec le module Backup and Migrate

Calcul Parallèle. Cours 5 - JAVA RMI

Exercices INF5171 : série #3 (Automne 2012)

Application web de gestion de comptes en banques

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

LICENCE SNCF OPEN DATA

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions

IBM Rational Application Developer pour WebSphere Software V8.5 accélère le développement d'applications de haute qualité.

Travaux Pratiques : Lucène - Gestion d un index plein texte

Développement Logiciel

Serveur d'archivage 2007 Installation et utilisation de la BD exist

BASE DE DONNÉES XML NATIVE

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Retek Invoice Matching 11.0 Notes de mise à jour

Classe Interne, Anonyme & Enumération

Java DataBaseConnectivity

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

Aspects techniques : guide d interfaçage SSO

Corrigé des exercices sur les références

Les clients GNU/Linux

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

Arbres binaires de recherche

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Groupe Eyrolles, 2005, ISBN :

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Direction générale de l offre de soins. Guide d élaboration TAC et COMPT EX

Java et les annotations

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

JOnAS Day 5.1. Outils de développements

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Mise en œuvre des serveurs d application

Concept de machine virtuelle

Utiliser Java sans BlueJ

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

JavaServer Pages (JSP)

Note technique. BlackBerry Enterprise Server pour Microsoft Exchange

Une introduction à Java

et de suivi de la corpulence des enfants

TP Programmation Java / JDBC / Oracle

LICENCE SNCF OPEN DATA

MAIRIE DE LA WANTZENAU MARCHE DE FOURNITURES PROCEDURE ADAPTEE CAHIER DES CHARGES

Java 1.5 : principales nouveautés

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Implementing a simple RMI Application over the Internet (using and comparing HTTP tunneling, RMI Proxy)

SAUVEGARDE COBIAN. LE B.A. BA De La sauvegarde Avec «CobianBackup» ou comment faire des sauvegardes automatiques

Programmation Orientée Objet

Web Tier : déploiement de servlets

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Transcription:

Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com Structures de contrôle Gestion des exceptions Licence Creative Commons Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.

Plan Interception Déclencher une exception Traitement final et multi-catch Catégories d'exceptions Exceptions non contrôlées Sous-classes de RuntimeException Exceptions contrôlées Classes d'exceptions contrôlées Exception personnalisée

Interception try { //code susceptible de lever une exception } catch (Exception e1) { //instruction } Eclipse : sélection > Surround With (Shift+Alt+Z) > Try/catch Block

Déclencher une exception throw new Exception (); Exemple : if (n < this.min n > this.max) throw new IllegalArgumentException (n + "invalide"); Eclipse : sélection > Surround With (Shift+Alt+Z) > Try/catch Block

Traitement final et multi-catch try { //code susceptible de lever une exception... } catch (NumberFormatException e1) { //instruction... } catch (IllegalArgumentException e1) { //instruction... } finally //instruction finale... }

Catégories d'exceptions Exceptions : contrôlées non contrôlées

Exceptions non contrôlées prévu (try/catch) ou affichage du diagnostique par la JVM aucune obligation d'interception (compilateur) les écrire systématiquement serait fastidieux et inutile Toutes les sous-classes de : java.lang.error java.lang.runtimeexception

Sous-classes de RuntimeException ArithmeticException ClassCastException IllegalArgumentException Division entière par Zéro Conversion d'une référence dans un type incompatible Valeur refusée en paramètre d'une méthode NumberFormatException IllegalStateException IndexOutOfBoundsException Contenu d'une chaine de caractère incompatible avec l'appel à la méthode parse... du wrapper. Etat d'un objet n'autorisant pas l'appel d'une méthode Valeur d'indice en dehors des limites autorisées NullPointerException Appel d'une méthode ou utilisation d'un champs avec une référence null

Exceptions contrôlées dérivées de java.lang.exception et différentes de java.lang.runtimeexception et ses sous-classes Soit interceptée par un try/catch propagée dans la pile d'execution ajout de la clause throws à la méthode public void fonction () throws IOException { }

Classes d'exceptions contrôlées Le plus souvent déclenchées par des méthodes d'e/s java.io.exception : fichier / réseau java.sql.sqlexception : SGBD javax.servlet.servletexception : Servlets Nous sommes contraints (par le compilateur) à tenir compte systématiquement de ces exceptions

Exception personnalisée Doit dériver (directement ou indirectement) : soit de java.lang.exception exception contrôlée méthode dont le bon fonctionnement dépend d'une saisie utilisateur - ou dont le dysfonctionnement est indépendant de la JVM (ex : E/S) soit de java.lang.runtimeexception exception non contrôlée en réponse à la programmation d'un appel dans une situation incorrecte

Ce qu on a couvert Comment gérer les exceptions Java Interception déclenchement Les catégories d'exception contrôlées et non contrôlées Comment créer des exceptions personnalisées FIN

Licence Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France. Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à : Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Vous êtes libre de : partager reproduire, distribuer et communiquer cette œuvre remixer adapter l œuvre Selon les conditions suivantes : Attribution Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l œuvre originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l œuvre, à moins d'en demander expressément la permission). Pas d Utilisation Commerciale Vous n avez pas le droit d utiliser cette œuvre à des fins commerciales (ie. l'intention première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une autorisation explicite de l'auteur est requise. Partage dans les Mêmes Conditions Si vous modifiez, transformez ou adaptez cette œuvre, vous n avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci. Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration de ce support.