Vous êtes sur la page 1sur 3

POO 2 2LA IAG

Atelier N°4 :
Gérer les exceptions
Objectifs

Gestion des erreurs en JAVA

Supposons que, par erreur, l’utilisateur saisie dans le champ correspondant à l’un des deux nombres un
caractère ou une chaîne ou bien il essaye d’effectuer une division par zéro, que se passe-t-il au moment de
l’exécution ?
 Une exception est levée

Une exception est un objet qui indique que quelque chose d'exceptionnel est survenu en cours
d'exécution
Deux solutions sont alors possibles:
 Laisser le programme se terminer avec une erreur,
 essayer, malgré l'exception, de continuer l'exécution normale
Comment sont traitées les exceptions ?
Le développeur a le choix entre deux solutions :
 Il peut protéger un bloc de programme local contre une erreur avec une instruction try .. catch :
interception de l’exception
 Il utilise des clauses throws qui permettent la centralisation du traitement des situations
d’erreur dans l’en-tête d’une méthode : propagation de l’exception

1
POO 2 2LA IAG

1. Interception de l’exception : bloc try .. catch.. finally

Retournons à notre calculette, le bloc d’instructions qui pourrait déclencher une exception est celui
qui permet de récupérer les nombres saisis par l’utilisateur donc nous allons l’entourer par un bloc
try .. catch.
Nous allons modifier notre programme de telle façon qu’en cas d’erreur une boîte de dialogue
s’affiche en indiquant à l’utilisateur qu’il doit saisir des nombres.
La classe JOptionPane fournit des façons simples de créer des dialogues élémentaires modaux en
spécifiant un message, un titre, une icône, et un type de message ou un type d’option.
Si on ne spécifie pas d’icône, des icônes sont fournies par le système en fonction du type de message.
On distingue principalement entre 3 types de dialogue :
1. Dialogue d’information

L’appel de la méthode showMessageDialog de la classe JOptionPane permet de faire apparaître des


messages
JOptionPane d = new JOptionPane();
d.showMessageDialog( laFrame, "le message", "le titre", messageType);

Le type de message est l’une des valeurs suivantes :


 JOptionPane.PLAIN_MESSAGE
 JOptionPane.ERROR_MESSAGE
 JOptionPane.INFORMATION_MESSAGE
 JOptionPane.WARNING_MESSAGE
 JOptionPane.QUESTION_MESSAGE

2. Dialogue de confirmation

2
POO 2 2LA IAG

L’appel de la méthode showConfirmDialog de la classe JOptionPane permet de faire apparaître des


messages, avec demande de confirmation :
JOptionPane d = new JOptionPane();
int retour = d.showConfirmDialog(laFrame, "le message", "le titre", messageType);

L’option de message est l’une des valeurs statiques suivantes :


 JOptionPane.DEFAULT_OPTION
 JOptionPane.YES_NO_OPTION
 JOptionPane.YES_NO_CANCEL_OPTION
 JOptionPane.OK_CANCEL_OPTION

La valeur retournée par l’appel de méthode est l’une des trois suivantes :
 OK_OPTION
 NO_OPTION
 CANCEL_OPTION

3. Dialogue de saisie
L’appel de la méthode showInputDialog de la classe JOptionPane permet de faire une saisie de
chaîne de caractères :
String retour = JOptionPane.showInputDialog(laFrame, "le message", "le titre", messageType);
String retour = JOptionPane.showInputDialog(laFrame, "le message", "VALEUR INITIALE");

Si retour vaut null la saisie n’est pas validée, sinon retour vaut la chaîne tapée par l’utilisateur.

4. Dialogues personnalisés
Des boîtes de choix, qui permettent de donner le choix entre plusieurs choses, une liste déroulante
en quelque sorte.

Modification dans la classe « MoteurCalculette »

2. Propagation de l’exception : la clause throws


Traiter une erreur via la clause throws est une alternative au bloc try .. catch. Avec elle, le traitement
d’une erreur issue d’une ou de plusieurs exceptions est déclenché de manière centrale au début
d’une méthode, ce que permet de protéger une méthode contre des erreurs.