Vous êtes sur la page 1sur 19

Ecole Nationale des Sciences Appliquées de Safi

A.U:2018-2019

La programmation java
&
UML

Ing.Meryem OUARRACHI
1
Plan
Partie1: La programmation Java

Chapitre1: Introduction à la programmation Orientée


Objet.

Chapitre2: Introduction à Java.

Chapitre3: Les bases du langage Java.

Chapitre4: La P.O.O en java

Partie2: La modélisation UML


2
Partie1: La programmation Java

3
Chapitre 4

La P.O.O en Java

4
Les exceptions
Une exception est une erreur se produisant dans un
programme qui conduit le plus souvent à l’ arrêt de celui-ci.
On obtient cela à travers un message d’erreur dans le cas
de division par zéro, dépasser la taille d’un tableau …

int j = 20, i = 0;
System.out.println(j/i);

5
Les exceptions
Les exceptions sont des objets particuliers qui définissent
une situation particulière ou d'erreur qui sont générés par
des méthodes ou par la machine virtuelle Java et qu'il
convient de traiter.

• Le fait de gérer les exceptions s'appelle « la capture


d'exception »

• Le mécanisme des exceptions Java permet de traiter les


erreurs d’éxécution

6
Les exceptions

Lorsqu'une exception est levée, il y a deux


possibilités pour le programme:
• Il capture l'exception et la traite (mot-
clés try/catch ) ;
• Il propage l'exception (mot-clé throws ) ;

7
Les exceptions
 Le bloc try{...} catch{...} :

try {
//Instructions susceptibles de provoquer une erreur
}
catch (Exception1 e)
{ //instructions à exécuter au cas où une exception1
apparue
}
catch (Exception2 e)
{ //instructions à exécuter au cas où une exception2
apparue}
8
Les exceptions
 Le bloc try{...} catch{...} :
public static void main(String[] args) {
int j = 20, i = 0;
try {
System.out.println(j/i);
} catch (ArithmeticException e) {
System.out.println("Division par zéro !");
}
System.out.println(" test"); }
9
La clause finally
•La clause finally définit un bloc qui sera toujours exécuté,
qu'une exception soit levée ou non.
public static void main(String[] args) {

try {

System.out.println(20/0);

} catch (ArithmeticException e) {

System.out.println("Division par zéro !");

finally{

System.out.println("action faite systématiquement"); }} 10


Exception
 Propagation de l'exception:
- Une méthode propage une exception est une méthode qui
ne traite pas l’exception mais il passe le traitement à la
méthode appelante .

-Pour propager l’exception on utilise le mot clé throws au


niveau de la signature d’une méthode.

-Le mot-clé “throw” permet de soulever une exception

if(b==0) throw new ArithmeticException();

11
Exception

 Exemple (1/2):
public static int divide (int a, int b) throws
ArithmeticException

if(b==0) throw new ArithmeticException();

else {

int r = a / b;

return r; }}
12
Exception
 Exemple (2/2):
public static void main (String[] args)
{ int a = 8;
int b = 0;
try
{ System.out.println (divide (a, b));
}
catch (ArithmeticException exception)
{ System.out.println ("Une erreur de calcul est apparue !");
}
}

13
Les exceptions personnalisées
• Exemple(1/3)
class NombreHabitantException extends Exception{

public NombreHabitantException(){

System.out.println("Vous essayez d'instancier une


classe Ville avec un nombre d'habitants négatif !");

} }

14
Les exceptions personnalisées
• Exemple(2/3)
public Ville(String nomVille, int nbreHabitant,String
nomPays)throws NombreHabitantException
{
if(nbreHabitant < 0)
throw new NombreHabitantException();
else
{ this.nomVille = nomVille;
this.nbreHabitantt = nbreHabitant;
this.nomPays = nomPays;
} }
15
Les exceptions personnalisées
• Exemple(3/3)

public static void main(String[] args) {

try {

Ville v = new Ville("Paris", -12000, "France");

catch (NombreHabitantException e)

{ e.getMessage();

}
16
Classification des exceptions
• Le JDK contient des classes d’exceptions dont voici un
extrait :

17
Méthode de la classe Exception
• getMessage() : //retourne une courte explication du
problème

• toString(): // plus de détail

catch(Exception exception) { exception.toString()); }


Vous essayez d'instancier une classe Ville avec un
nombre d'habitants négatif !

18
Méthode de la classe Exception
• printStackTrace(): affiche le message d’erreur + le
parcours complet de l’exception du moment ou elle a été
levée jusqu’à celui ou elle a été arrêtée

catch (NombreHabitantException e) {
e.printStackTrace();
Vous essayez d'instancier une classe Ville avec un nombre
d'habitants négatif !
Exception.NombreHabitantException
at Exception.Ville.<init>(Ville.java:9)
at Exception.Ville.main(Ville.java:24)

19