0% ont trouvé ce document utile (0 vote)
3 vues35 pages

Gestion des exceptions en Java

Ce document présente la gestion des exceptions en Java, en expliquant ce qu'est une exception, comment les définir, les lancer et les rattraper. Il détaille les différentes catégories d'exceptions prédéfinies et fournit des exemples pratiques de gestion des exceptions dans le code. Enfin, il aborde la déclaration des exceptions dans les méthodes et propose des exemples de lecture à partir du clavier.

Transféré par

Soukeina BenChikha
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues35 pages

Gestion des exceptions en Java

Ce document présente la gestion des exceptions en Java, en expliquant ce qu'est une exception, comment les définir, les lancer et les rattraper. Il détaille les différentes catégories d'exceptions prédéfinies et fournit des exemples pratiques de gestion des exceptions dans le code. Enfin, il aborde la déclaration des exceptions dans les méthodes et propose des exemples de lecture à partir du clavier.

Transféré par

Soukeina BenChikha
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

APPROCHE

ORIENTÉE
OBJET POO - CPP
Dr. Soukeina Ben Chikha

(C) SOUKEINA BEN CHIKHA 1


©[Link]
Le langage JAVA
Les exceptions
Dr. Soukeina Ben Chikha

©[Link]
Sommaire

● Introduction : qu’est-ce qu’une exception ?


● Gestion des exceptions
○ Définir des exceptions
○ Lancer une exception
○ Rattraper une exception
○ Rattraper plusieurs exceptions
○ Déclaration throws
● Exemples :
○ Lecture à partir du clavier

3
3 ©[Link]
Introduction : qu’est ce que une exception

• Une exception, c’est une erreur qui se produit lors de l’exécution


d’une application. Par exemple:
• une division par zéro soulève une exception,
• l’utilisation de l’indice 10 d’un tableau de 10 éléments (de 0 à 9).
• la fonction factorielle n’est pas définie pour les nombres
négatifs
• …
• Le traitement des exceptions permet de réagir d’une façon
spécifique lorsqu’un problème survient.

4 ©[Link]
L’exception- Exemple

public class App


{
public static void main(String args[]) {
App instance = new App();
[Link]();
}
public void methode()
{
int i = 0;
i = 2/i;
}}
-------------------------------------------------------------------------------
----------------------------------------------------

Exception in thread “main” [Link]: / by zero


at [Link]([Link])

5 ©[Link]
Introduction : qu’est ce que une exception

● Une exception représente une erreur. Il est possible de lancer/lever une


exception pour signaler une erreur.

● Lever une exception signifiait:


○ Interrompre définitivement le programme avec un message d’erreur
décrivant l’exception en question.
○ Cependant, on peut se trouver dans une situation où le programmeur
aimerait gérer les erreurs sans que le programme ne s’arrête
définitivement.

6 ©[Link]
Définir des exceptions

● Définir une nouvelle sorte d’exception, on crée une nouvelle classe


en utilisant une déclaration de la forme suivante :
class NouvelleException extends ExceptionDejaDefinie {}
● Exemple :
○ Sachant que Error est prédéfinie en Java :
class PasDefini extends Error {}

7 ©[Link]
Définir des exceptions

● Il existe de nombreuses classes d’exceptions prédéfinies en Java, que l’on peut


classer en trois catégories :
○ Celles définies en étendant la classe Error .
○ Celles définies en étendant la classe Exception.
○ Celles définies en étendant la classe RuntimeException.

8 ©[Link]
Définir des exceptions

● Exceptions de la classe Error : elles représentent des erreurs

critiques qui ne sont pas censée être gérées en temps normal.

○ Par exemple, une exception de type OutOfMemoryError est

lancée lorsqu’il n’y a plus de mémoire disponible dans le

système.

9 ©[Link]
Définir des exceptions

● Exceptions de la classe Exception : elles représentent les

erreurs qui doivent normalement être gérées par le

programme.

○ Par exemple, une exception de type IOException est lancée


en cas d’erreur lors de la lecture d’un fichier.

1 ©[Link]
Définir des exceptions

● Exceptions de la classe RuntimeException : elles représentent

des erreurs pouvant éventuellement être gérée par le

programme.

○ L’exemple typique de ce genre d’exception est

NullPointerException, qui est lancée si l’on tente d’accéder au

contenu d’un tableau ou d’un objet qui vaut null.


1 ©[Link]
Introduction : qu’est ce que une exception

● Une exception représente une erreur. Il est possible de lancer une exception
pour signaler une erreur.
● Lever une exception signifiait:
○ Interrompre définitivement le programme avec un message d’erreur
décrivant l’exception en question.
○ Cependant, on peut se trouver dans une situation où le programmeur
aimerait gérer les erreurs sans que le programme ne s’arrête définitivement.

1 ©[Link]
Lancer une exception
● Lorsqu’on veut lancer une exception, on utilise le mot clé throw suivi de
l’exception à lancer, qu’il faut auparavant avoir créée avec new NomException().
● Ainsi lancer une exception de la classe PasDefini s’écrit :
throw new PasDefini();
● Lorsqu’une exception est levée, l’exécution normale du programme s’arrête et on
saute toutes les instructions jusqu’à ce que :
○ l’exception soit rattrapée
○ Ou que l’on sorte du programme.

1 ©[Link]
L’exception- Exemple

14 ©[Link]
L’exception- Exemple

1 ©[Link]
L’exception- Exemple

1 ©[Link]
Lancer une exception
● Lorsqu’on veut lancer une exception, on utilise le mot clé throw suivi de l’exception
à lancer, qu’il faut auparavant avoir créée avec new NomException().
● Ainsi lancer une exception de la classe PasDefini s’écrit :
throw new PasDefini();
● Lorsqu’une exception est levée, l’exécution normale du programme s’arrête et on
saute toutes les instructions jusqu’à ce que :
○ l’exception soit rattrapée
○ Ou que l’on sorte du programme.

1 ©[Link]
Rattraper une exception
La construction try catch
● Le rattrapage d’une exception en Java se fait en utilisant la
construction :
try {
... // 1 //Appel code pouvant lancer une exception
} catch (UneException e) {
... // 2 // traitement à réaliser si exception soulevée
}
.. // 3 // Suite du code
● Si une exception est soulevée par dans la partie “try”, elle va être
attrapé dans la partie “catch”.
● Si la classe de l’exception est UneException alors le code 2 est
exécuté puis 3.

1 ©[Link]
Rattraper une exception

1 ©[Link]
Rattraper une exception

2 ©[Link]
Rattraper plusieurs exceptions

● Il est possible de rattraper plusieurs types


d’exceptions en enchaînant les constructions catch
● Pour être en mesure d’utiliser la technique du try-
catch de façon efficace, il faut bien connaître les
types d’exceptions.
● Il est également possible d’imbriquer les
constructions try catch

2 ©[Link]
Exemple:

©[Link]
Rattraper plusieurs exceptions

2 ©[Link]
Rattraper +eurs exceptions-Exemple 2

2 ©[Link]
Exceptions
L’exception
Les exceptions suivantes ne sont pas vérifiées par le compilateur :

Exceptions Signification

ArithmeticException Erreurs arithmétiques, comme la division par zéro.

ArrayIndexOutOfBoundsException L’index d’un tableau est hors limites.

ArrayStoreException Assigner un élément d’un tableau à un type


incompatible.

ClassCastException Appel invalide.

IllegalArgumentException Argument illégal utilisé pour invoquer une méthode.

IllegalMonitorStateException Opération illégale d’un moniteur, comme attendre


après un “Thread unlocked”.

2 ©[Link]
Exceptions
L’exception
Les exceptions suivantes ne sont pas vérifiées par le compilateur :

IllegalThreadStateException L’opération demandée n’est pas compatible avec


l’état du Thread.

IndexOutOfBoundsException Certains types d’index sont hors limites.

NegativeArraySizeException Tableau créé avec une grandeur négative.

NullPointerException Utilisation invalide de la référence null.

NumberFormatException Conversion invalide d’une String vers un format


numérique.

SecurityException Violation de la sécurité.

2 ©[Link]
Exceptions
L’exception
Les exceptions qui suivent sont vérifiées par le compilateur :

Exceptions Signification

ClassNotFoundException La classe est introuvable.

CloneNotSupportedException Tentative de cloner un objet qui n’implémente pas


l’interface Cloneable.
IllegalAccessException Accès à une classe est refusé.

InstantiationException Tentative de créer un objet d’une classe abstraite ou


d’une interface.
InterruptedException Un Thread a été intérrompu par un autre Thread.

2 ©[Link]
Déclaration throws
● Le langage Java, demande à ce que soient déclarées les exceptions et qui peuvent
être lancées dans une méthode sans être rattrapées dans cette même méthode.
● Cette déclaration est de la forme throws Exception1, Exception2, ... et se place entre
les arguments de la méthode et l’accolade ouvrante marquant le début du corps
de la méthode. Cette déclaration n’est pas obligatoire pour les exceptions de la
catégorie Error ni pour celles de la catégorie RuntimeException.

void fonction throws IOException {


// . . .
}

2 ©[Link]
Déclaration throws

2 ©[Link]
Déclaration throws

3 ©[Link]
Lecture à partir du clavier (1ère façon)
● Le programme suivant permet de faire la saisi au clavier
class App2{
public static void main(String args[]) {
byte tampon[] = new byte[40];
/*byte: entiers contenant les nombres entre 0 et 255*/
/* tampon: peut contenir jusqu’à 40 nombres différents*/
[Link](" Entrez valeurs: ");

3 ©[Link]
Lecture à partir du clavier (1ère façon)

try{
[Link](tab); // c’est le code ASCII qui sera
stocké dans tab
}
catch(Exception e)
{[Link]("Erreur : " + [Link]());}
…}}

● La méthode read: lis les caractères tapés par l’utilisateur y


compris les espaces

3 ©[Link]
Lecture à partir du clavier

©[Link]
Lecture à partir du clavier (2ème façon)

● BufferedReader: récupérer des chaînes de caractères saisis sur la console par


l'utilisateur.
Reader reader = new InputStreamReader([Link]);
BufferedReader keyboard = new BufferedReader(reader);
[Link]("Entrez une ligne de texte : ");
String line="";
try{
line = [Link]();
}catch(Exception e)
{
[Link]("Erreur : " + [Link]());
}
[Link]("Vous avez saisi : " + line);

3 ©[Link]
Merci,

©[Link]

Vous aimerez peut-être aussi