Langages Orientés Objet Java



Similar documents
Introduction au BIM. ESEB Seyssinet-Pariset Economie de la construction contact@eseb.fr

Licence Informatique Année Exceptions

POB-JAVA Documentation

Remote Method Invocation

Introduction. GEAL Bibliothèque Java pour écrire des algorithmes évolutionnaires. Objectifs. Simplicité Evolution et coévolution Parallélisme

HEALTH CARE DIRECTIVES ACT

Note concernant votre accord de souscription au service «Trusted Certificate Service» (TCS)

«Object-Oriented Multi-Methods in Cecil» Craig Chambers (Cours IFT6310, H08)

Introduction ToIP/Asterisk Quelques applications Trixbox/FOP Autres distributions Conclusion. Asterisk et la ToIP. Projet tuteuré

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

TP1 : Correction. Rappels : Stream, Thread et Socket TCP

Modifier le texte d'un élément d'un feuillet, en le spécifiant par son numéro d'index:

Personnalisez votre intérieur avec les revêtements imprimés ALYOS design

CSS : petits compléments

Qu est-ce que le Cloud? Quels sont ses points forts? Pourquoi l'adopter? Hugues De Pra Data Center Lead Cisco Belgium & Luxemburg

Thursday, February 7, DOM via PHP

TP N 10 : Gestion des fichiers Langage JAVA

Sun Management Center Change Manager Release Notes

In-Home Caregivers Teleconference with Canadian Bar Association September 17, 2015

Archived Content. Contenu archivé

FATMAS : A Methodology to Design Fault-tolerant Multi-agent Systems

ACP-EU Cooperation Programme in Science and Technology (S&T II) / Programme de Coopération ACP-UE pour la Science et la Technologie

Solaris 10 Documentation README

READ AND FOLLOW ALL SAFETY INSTRUCTIONS 1. DANGER RISK OF SHOCK DISCONNECT POWER BEFORE INSTALLATION

Méthodes ensemblistes pour une localisation robuste de robots sous-marins

Les fragments. Programmation Mobile Android Master CCI. Une application avec deux fragments. Premier layout : le formulaire

Short Form Description / Sommaire: Carrying on a prescribed activity without or contrary to a licence

Archived Content. Contenu archivé

Machine de Soufflage defibre

Survey on Conference Services provided by the United Nations Office at Geneva

AP FRENCH LANGUAGE AND CULTURE EXAM 2015 SCORING GUIDELINES

EPREUVE D EXPRESSION ORALE. SAVOIR et SAVOIR-FAIRE

Technical Service Bulletin

Archived Content. Contenu archivé

Brazil + JDBC Juin 2001, douin@cnam.fr

Office of the Auditor General / Bureau du vérificateur général FOLLOW-UP TO THE 2010 AUDIT OF COMPRESSED WORK WEEK AGREEMENTS 2012 SUIVI DE LA

Archived Content. Contenu archivé

AD511 Active Iridium Antenna User Manual Mar 12 V4.0

Archived Content. Contenu archivé

Formulaire de Modification de Données de l Emploi/Job Data Change Form France

Fondation Rennes 1. Atelier de l innovation. Fondation Rennes 1. Fondation Rennes 1 MANAGEMENT AGILE. Fondation Rennes 1 ET INNOVATION

Regulatory Compliance Statement

SunFDDI 6.0 on the Sun Enterprise Server

Reconstruction d un modèle géométrique à partir d un maillage 3D issu d un scanner surfacique

Detection of water leakage using laser images from 3D laser scanning data

French 8655/S 8655/S. AQA Level 1/2 Certificate June Teacher s Booklet. To be conducted by the teacher-examiner between 24 April and 15 May 2014

Archived Content. Contenu archivé

BILL C-665 PROJET DE LOI C-665 C-665 C-665 HOUSE OF COMMONS OF CANADA CHAMBRE DES COMMUNES DU CANADA

TIMISKAMING FIRST NATION

Liste d'adresses URL

Calcul parallèle avec R

Power Distribution System. Additional Information on page 2 See Page 2 Page 6. Eaton. See Page 2. Additional Information on page 2

Report to Rapport au: Council Conseil 9 December 2015 / 9 décembre Submitted on October 26, 2015 Soumis le 26 octobre 2015

Measuring Policing Complexity: A Research Based Agenda

TP JSP : déployer chaque TP sous forme d'archive war

How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For

ENABLING OBJECTIVE AND TEACHING POINTS. DRILL: TIME: One 30 minutes period. 6. METHOD/APPROACH: a. demonstration; and. b. performance.

The Need For Speed. leads to PostgreSQL. Dimitri Fontaine 28 Mars 2013

AIRBUS VHT Framework - Mascot-NuM presentation - Emmanuelle Garcia

REVOCABILITY. Contact: Lars MEINHARDT, Telephone:(32-2) ,

Direct AC Wiring Option Installation Guide

Évariste Galois and Solvable Permutation Groups

Operation Instructions PowerCool Series

General Certificate of Education Advanced Level Examination June 2012

ANIMATION OF CONTINUOUS COMPUTER SIMULATIONS C.M. Woodside and Richard Mallet Computer Center, Carleton University ABSTRACT

System Requirements Orion

CASifier une application

Programmation Orientée Objets. et langage Java

Sun StorEdge A5000 Installation Guide

at à 02 :00 PM on le

Office of the Auditor General / Bureau du vérificateur général FOLLOW-UP TO THE 2007 AUDIT OF THE ENVIRONMENTAL COMMITMENTS IN THE OTTAWA 20/20

10 mistakes not to make in France!

Unrealized Gains in Stocks from the Viewpoint of Investment Risk Management

CIHR Foundation Webinar November 26, 2013

Level 2 French, 2014

Strategic Workforce Planning and Competency Management at Schneider Electric

Sun Enterprise Optional Power Sequencer Installation Guide

ref. 6 Young 2G Accès d angle à 2 portes pivotantes / Corner entry enclosure, 2 hinged doors

Sélection adaptative de codes polyédriques pour GPU/CPU

AgroMarketDay. Research Application Summary pp: Abstract

Altiris Patch Management Solution for Windows 7.6 from Symantec Third-Party Legal Notices

Interfaces de programmation pour les composants de la solution LiveCycle ES (juillet 2008)

NUNAVUT HOUSING CORPORATION - BOARD MEMBER RECRUITMENT

N1 Grid Service Provisioning System 5.0 User s Guide for the Linux Plug-In

Chapter 5 Aspect Oriented Programming

Les Broadcast Receivers...

ESMA REGISTERS OJ/26/06/2012-PROC/2012/004. Questions/ Answers

State of Maryland Health Insurance Exchange

Sun Management Center 3.5 Update 1b Release Notes

TP : Système de messagerie - Fichiers properties - PrepareStatement

AP FRENCH LANGUAGE 2008 SCORING GUIDELINES

Archived Content. Contenu archivé

IMPROVING EFFICIENCY AND PRODUCTIVITY IN THE CONSTRUCTION SECTOR THROUGH THE USE OF INFORMATION TECHNOLOGIES

Inspection des engins de transport

Memory Eye SSTIC Yoann Guillot. Sogeti / ESEC R&D yoann.guillot(at)sogeti.com

FINAL DRAFT INTERNATIONAL STANDARD

Transcription:

Langages Orientés Objet Java Exceptions Arnaud LANOIX Université Nancy 2 24 octobre 2006 Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 1 / 32

Exemple public class Example { public static void main(string[] args) { int[] tableau = new int[3] ; tableau[0] = 1 ; tableau[1] = 2 ; tableau[2] = 3 ; tableau[3] = 4 ; for (int i = 0 ; i < tableau.length ; i++) { System.out.println(tableau[i]) ; 1 mia$ javac Example.java OK 2 mia$ java Example Exception in thread "main" java.lang.arrayindexoutofboundsexception : 3 at Example.main(Example.java :7) Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 3 / 32

Exemple public class Example { public static void main(string[] args) { int[] tableau = new int[3] ; tableau[0] = 1 ; tableau[1] = 2 ; tableau[2] = 3 ; tableau[3] = 4 ; for (int i = 0 ; i < tableau.length ; i++) { System.out.println(tableau[i]) ; 1 mia$ javac Example.java OK 2 mia$ java Example Exception in thread "main" java.lang.arrayindexoutofboundsexception : 3 at Example.main(Example.java :7) Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 3 / 32

Exemple public class Example { public static void main(string[] args) { int[] tableau = new int[3] ; tableau[0] = 1 ; tableau[1] = 2 ; tableau[2] = 3 ; tableau[3] = 4 ; for (int i = 0 ; i < tableau.length ; i++) { System.out.println(tableau[i]) ; 1 mia$ javac Example.java OK 2 mia$ java Example Exception in thread "main" java.lang.arrayindexoutofboundsexception : 3 at Example.main(Example.java :7) Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 3 / 32

Exemple public class Example { public static void main(string[] args) { int[] tableau = new int[3] ; tableau[0] = 1 ; tableau[1] = 2 ; tableau[2] = 3 ; tableau[3] = 4 ; for (int i = 0 ; i < tableau.length ; i++) { System.out.println(tableau[i]) ; 1 mia$ javac Example.java OK 2 mia$ java Example Exception in thread "main" java.lang.arrayindexoutofboundsexception : 3 at Example.main(Example.java :7) Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 3 / 32

Exemple public class Example { public static void main(string[] args) { int[] tableau = new int[3] ; tableau[0] = 1 ; tableau[1] = 2 ; tableau[2] = 3 ; tableau[3] = 4 ; for (int i = 0 ; i < tableau.length ; i++) { System.out.println(tableau[i]) ; 1 mia$ javac Example.java OK 2 mia$ java Example Exception in thread "main" java.lang.arrayindexoutofboundsexception : 3 at Example.main(Example.java :7) Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 3 / 32

Exemple public class Example { public static void main(string[] args) { int[] tableau = new int[3] ; tableau[0] = 1 ; tableau[1] = 2 ; tableau[2] = 3 ; tableau[3] = 4 ; for (int i = 0 ; i < tableau.length ; i++) { System.out.println(tableau[i]) ; 1 mia$ javac Example.java OK 2 mia$ java Example Exception in thread "main" java.lang.arrayindexoutofboundsexception : 3 at Example.main(Example.java :7) Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 3 / 32

Exceptions : qu est-ce que c est? = mécanisme de traitement des erreurs signaler une erreur ou une situation inhabituelle connaître la nature de l erreur, son contexte d apparition... ne pas mettre fin au programme rectifier l erreur, poursuivre ou terminer l exécution Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 4 / 32

Exceptions : avantages structurer/séparer la gestion des erreurs du programme normal Eviter de noyer le code dans de nombreux tests Eviter de traiter les erreurs comme des valeurs de retour des méthodes Une exception pour chaque type d erreur : beaucoup plus d informations hiérarchie d exceptions erreurs traitées dans l ordre de la pile d appel Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 5 / 32

Exceptions : fonctionnement 1 situation anormale détectée : on va lever une exception c.a.d. interrompre le déroulement normal du programme (i) soit levée directe par le programmeur : throw... (ii) soit une méthode utilisée lève une exception (transfert) 2 S il y a un risque qu une exception soit levée, il faut se placer dans un bloc d essai spécifique : try {... La levée d une exception provoque la sortie du bloc d essai 3 l exception doit (peut?) être capturée pour être traitée catch {... 4 l exception peut également être transférée, au lieu d être traitée directement Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 6 / 32

Lever une exception Instruction throw throws new Exception(... ) ; Les exceptions sont des objets : une nouvelle instance de Exception est construite lors de la levée de l exception appel à l un des constructeurs de Exception Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 8 / 32

Tansférer une exception Instruction throws unemethode() throws Exception // définition de la méthode // possible levée d une exception Exception On transfère le traitement de l exception : au lieu de traiter (capturer) l exception Exception ici, on diffère le traitement à la méthode qui a appelé unemethode() Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 10 / 32

Lever / transférer une exception : exemple public class Rectangle { int largeur ; int longueur ;... private void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 12 / 32

Lever / transférer une exception : exemple public class Rectangle { int largeur ; int longueur ;... private void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 12 / 32

Lever / transférer une exception : exemple public class Rectangle { int largeur ; int longueur ;... private void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 12 / 32

Capturer une exception : example public class ExampleCatch { public static void main(string[] args) { int[] tableau = new int[3] ; tableau[0] = 1 ; tableau[1] = 2 ; tableau[2] = 3 ; try { tableau[3] = 4 ; catch (ArrayIndexOutOfBoundsException ex) { System.out.println("dépassement d indices : " + ex) ; for (int i = 0 ; i < tableau.length ; i++) { System.out.println(tableau[i]) ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 14 / 32

Capturer une exception : example public class ExampleCatch { public static void main(string[] args) { int[] tableau = new int[3] ; tableau[0] = 1 ; tableau[1] = 2 ; tableau[2] = 3 ; try { tableau[3] = 4 ; catch (ArrayIndexOutOfBoundsException ex) { System.out.println("dépassement d indices : " + ex) ; for (int i = 0 ; i < tableau.length ; i++) { System.out.println(tableau[i]) ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 14 / 32

Capturer une exception : example (2) 1 mia$ javac ExampleCatch.java OK 2 mia$ java ExampleCatch dépassement d indices 1 2 3 Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 15 / 32

Capturer une exception : example (2) 1 mia$ javac ExampleCatch.java OK 2 mia$ java ExampleCatch dépassement d indices 1 2 3 Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 15 / 32

Instruction try...catch try {... // Bloc d essai E : // possible appel à une méthode ou // une instruction levant une exception... catch (TypeException ex) {... // bloc de capture C : // traitement de l exception... une exception peut être levée dans le bloc E provoque la sortie immédiate du bloc E si l exception est du type TypeException, le bloc C est executé Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 17 / 32

Plusieurs clauses catch try { // bloc d essai catch (TypeException1 ex1) { // bloc de capture 1 catch (TypeException2 ex2) { // bloc de capture 2... catch (TypeExceptionN exn) { // bloc de capture N seul le premier bloc de capture compatible avec l exception levée est executé Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 19 / 32

Clause finally try { // bloc d essai catch (TypeException ex) { // bloc de capture... finally { // bloc toujours executé instructions toujours executées, exceptions captur/ ees ou non Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 21 / 32

Capturer une exception : exemple Rectangle public class Rectangle { int largeur ; int longueur ; public Rectangle() { largeur = 0 ; longueur = 0 ; public void setlargeur(int largeur) { this.largeur = largeur ; public void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 23 / 32

Capturer une exception : exemple Rectangle public class Rectangle { int largeur ; int longueur ; public Rectangle() { largeur = 0 ; longueur = 0 ; public void setlargeur(int largeur) { this.largeur = largeur ; public void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 23 / 32

Capturer une exception : exemple Rectangle public class Rectangle { int largeur ; int longueur ; public Rectangle() { largeur = 0 ; longueur = 0 ; public void setlargeur(int largeur) { this.largeur = largeur ; public void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 23 / 32

Capturer une exception : exemple Rectangle public class Rectangle { int largeur ; int longueur ; public Rectangle() { largeur = 0 ; longueur = 0 ; public void setlargeur(int largeur) { this.largeur = largeur ; public void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 23 / 32

Capturer une exception : exemple Rectangle public class Rectangle { int largeur ; int longueur ; public Rectangle() { largeur = 0 ; longueur = 0 ; public void setlargeur(int largeur) { this.largeur = largeur ; public void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 23 / 32

Capturer une exception : exemple Rectangle public class Rectangle { int largeur ; int longueur ; public Rectangle() { largeur = 0 ; longueur = 0 ; public void setlargeur(int largeur) { this.largeur = largeur ; public void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 23 / 32

Capturer une exception : exemple Rectangle public class Rectangle { int largeur ; int longueur ; public Rectangle() { largeur = 0 ; longueur = 0 ; public void setlargeur(int largeur) { this.largeur = largeur ; public void setlongueur(int longueur) throws LongueurException { if (longueur < this.largeur) { throw new LongueurException(longueur) ; this.longueur = longueur ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 23 / 32

Capturer une exception : exemple (2) static Rectangle giverectfixed(int largeur, int longueur) { Rectangle rect = new Rectangle() ; rect.setlargeur(largeur) ; try { rect.setlongueur(longueur) ; catch (LongueurException ex) { System.out.println("Longueur mal choisie : " + ex.getlongueur()) ; rect = giverectfixed(longueur,largeur) ; return rect ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 25 / 32

Capturer une exception : exemple (2) static Rectangle giverectfixed(int largeur, int longueur) { Rectangle rect = new Rectangle() ; rect.setlargeur(largeur) ; try { rect.setlongueur(longueur) ; catch (LongueurException ex) { System.out.println("Longueur mal choisie : " + ex.getlongueur()) ; rect = giverectfixed(longueur,largeur) ; return rect ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 25 / 32

Capturer une exception : exemple (2) static Rectangle giverectfixed(int largeur, int longueur) { Rectangle rect = new Rectangle() ; rect.setlargeur(largeur) ; try { rect.setlongueur(longueur) ; catch (LongueurException ex) { System.out.println("Longueur mal choisie : " + ex.getlongueur()) ; rect = giverectfixed(longueur,largeur) ; return rect ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 25 / 32

Capturer une exception : exemple (2) static Rectangle giverectfixed(int largeur, int longueur) { Rectangle rect = new Rectangle() ; rect.setlargeur(largeur) ; try { rect.setlongueur(longueur) ; catch (LongueurException ex) { System.out.println("Longueur mal choisie : " + ex.getlongueur()) ; rect = giverectfixed(longueur,largeur) ; return rect ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 25 / 32

Capturer une exception : exemple (2) static Rectangle giverectfixed(int largeur, int longueur) { Rectangle rect = new Rectangle() ; rect.setlargeur(largeur) ; try { rect.setlongueur(longueur) ; catch (LongueurException ex) { System.out.println("Longueur mal choisie : " + ex.getlongueur()) ; rect = giverectfixed(longueur,largeur) ; return rect ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 25 / 32

Capturer une exception : exemple (3) public static void main(string[] args) Rectangle rectangle ; rectangle = giverectfixed(2,3) ; System.out.println(rectangle) ; rectangle = giverectfixed(4,3) ; System.out.println(rectangle) ; rectangle = giverectfixed(2,2) ; System.out.println(rectangle) ; mia$ java RectangleMain Rectangle 2 * 3 Longueur mal choisie : 3 Rectangle 3 * 4 Rectangle 2 * 2 Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 27 / 32

Capturer une exception : exemple (3) public static void main(string[] args) Rectangle rectangle ; rectangle = giverectfixed(2,3) ; System.out.println(rectangle) ; rectangle = giverectfixed(4,3) ; System.out.println(rectangle) ; rectangle = giverectfixed(2,2) ; System.out.println(rectangle) ; mia$ java RectangleMain Rectangle 2 * 3 Longueur mal choisie : 3 Rectangle 3 * 4 Rectangle 2 * 2 Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 27 / 32

Créer une nouvelle exception Pour créer une exception, il faut étendre la classe Exception ou une de ses sous-classes Exception : un attribut privé de type String qui décrit l erreur encapsulé par la méthode getmessage() utilise la méthode tostring() (à redéfinir ou à complèter) http://java.sun.com/j2se/1.5.0/docs/api/java/lang/exception.html Il est en plus possible d ajouter de nouveaux attributs et de nouvelles méthodes pour qualifier plus précisément l exception Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 28 / 32

Hiérarchie des exceptions Sous-classes de java.lang.throwable : Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 29 / 32

Exception contrôlée Exception contrôlées : hérite directement de Exception = exceptions qui doivent être capturée par le programme Exception non-contrôlées : Error : super-classe d une hiérarchie d erreurs graves NoSuchMethodError StackOverFlowError OutOfMemoryError IllegalAccessError... RuntimeException : super-classe d une hiérarchie d exceptions non-contrôlées ArithmeticException NullPointerException NumberFormatException IndexOutOfBoundsException Il est fortement déconseillé de sous-classer ces exceptions Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 30 / 32

Créer une exception : exemple public class LongueurException extends Exception { int longueur ; public LongueurException() { longueur = 0 ; public LongueurException(int longueur) { this.longueur = longueur ; public int getlongueur() { return longueur ; public String tostring() { return super.tostring() + "[longueur=" + longueur +"]" ; Arnaud LANOIX (Université Nancy 2) Langages Orientés Objet Java 24 octobre 2006 32 / 32