0% ont trouvé ce document utile (0 vote)
47 vues7 pages

Les Exceptions

Le document présente plusieurs exercices en Java sur la gestion des exceptions, incluant des exemples de code pour lever et attraper des exceptions comme InputMismatchException, ArithmeticException, IllegalArgumentException, NumberFormatException, et ArrayIndexOutOfBoundsException. Chaque exercice demande à l'utilisateur d'entrer des valeurs et gère les erreurs potentielles en fournissant des messages d'erreur appropriés. Les exercices couvrent des scénarios tels que la division par zéro, la vérification de la parité d'un nombre, et la validation des entrées utilisateur.

Transféré par

Hassan Hachicha
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues7 pages

Les Exceptions

Le document présente plusieurs exercices en Java sur la gestion des exceptions, incluant des exemples de code pour lever et attraper des exceptions comme InputMismatchException, ArithmeticException, IllegalArgumentException, NumberFormatException, et ArrayIndexOutOfBoundsException. Chaque exercice demande à l'utilisateur d'entrer des valeurs et gère les erreurs potentielles en fournissant des messages d'erreur appropriés. Les exercices couvrent des scénarios tels que la division par zéro, la vérification de la parité d'un nombre, et la validation des entrées utilisateur.

Transféré par

Hassan Hachicha
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Les exceptions

Exercice N°1

Sans Exception
public class Testexception
{
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
[Link]("Entrez un nombre entier : ");

int nombre = [Link](); // Lève InputMismatchException si


on entre un texte

[Link]("Vous avez saisi : " + nombre);


[Link]();

}
}

Avec Exception

Exemple : Levée de InputMismatchException

package [Link];
import [Link];
import [Link];
public class Testexception
{
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
int nombre = 0;

while (true) {
try {
[Link]("Entrez un nombre entier : ");
nombre = [Link]();
break; // Sortir de la boucle si l'entrée est correcte
} catch (InputMismatchException e) {
[Link]("Erreur : Vous devez entrer un nombre
entier !");
[Link](); // Nettoie l'entrée incorrecte
}
}

[Link]("Vous avez saisi : " + nombre);


[Link]();
}
}

Exécution

Exercice 1:

Écrire un programme Java qui lève une exception et la rattrape à l’aide


d’un bloc try-catch, si le diviseur est zéro.

Exemple:

Entrez le numérateur : 5

Entrez le diviseur : 0

Erreur : Division par zéro !


package [Link];

import [Link];
import [Link];

public class Testexception {


public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);

try {
[Link]("Entrez le numérateur : ");
double numerateur = [Link]();

[Link]("Entrez le diviseur : ");


double diviseur = [Link]();

// Vérification si le diviseur est zéro


if (diviseur == 0) {
throw new ArithmeticException("Erreur : Division par
zéro !");
}

// Effectuer la division et afficher le résultat


double resultat = numerateur / diviseur;
[Link]("Le résultat de la division est : " +
resultat);
} catch (InputMismatchException e) {
// Gérer l'erreur si l'utilisateur entre autre chose qu'un
nombre
[Link]("Erreur : Vous devez entrer un nombre valide
!");
} catch (ArithmeticException e) {
// Gérer l'erreur de division par zéro
[Link]([Link]());
} catch (Exception e) {
// Gérer toutes les autres exceptions imprévues
[Link]("Une erreur inattendue s'est produite : " +
[Link]());
} finally {
// Fermer le scanner dans tous les cas
[Link]();
}
}
}

Exercice 2:

Écrire un programme Java pour créer une méthode qui prend un entier en
paramètre et qui lève une exception si le nombre est impair.

Exemple:

4 est paire.

Erreur: 3 est impaire.


package [Link];

public class Pair {

public static void main(String[] args) {


int n = 4;
check(n);
n = 3;
check(n);
}
public static void check(int n) {
try {
if (n % 2 != 0) {
throw new IllegalArgumentException(n +" est impaire.");
}
[Link](n +" est paire.");
} catch (IllegalArgumentException e) {
[Link]("Erreur: "+ [Link]());
}
}
}
throw est utilisé pour lancer une exception personnalisée (ici, une
exception IllegalArgumentException avec un message décrivant le
problème).

IllegalArgumentException est utilisée pour indiquer qu'un argument


passé à une méthode est invalide ou qu'il ne respecte pas les
conditions attendues par la méthode.

Exercice 3:

Écrire un programme Java qui demande à l’utilisateur d’entrer un nombre,


puis essaie de le convertir en entier. Si l’utilisateur entre une chaîne qui ne
peut pas être convertie en nombre, exemple ‘abc’, une
NumberFormatException sera levée.

Exemple:

Entrez un nombre : abc

Erreur : Veuillez entrer un nombre valide.


package [Link];
import [Link];

public class Intvalide {


public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
[Link]("Entrez un nombre : ");
String input = [Link]();
try {
// Tente de convertir la chaîne en entier
int nombre = [Link](input);
[Link]("Le nombre que vous avez entré est : " +
nombre);
} catch (NumberFormatException e) {
// Attrape l'exception si la conversion échoue
[Link]("Erreur : Veuillez entrer un nombre
valide.");
} finally {
[Link]();
}
}
}

Explication:

 Lecture de l’entrée utilisateur : Le programme demande à


l’utilisateur d’entrer un nombre sous forme de chaîne.
 Bloc try : Il essaie de convertir cette chaîne en entier à l’aide de
[Link](). Si l’entrée est une chaîne qui ne peut pas être
convertie en entier (comme « abc » ou « 12.34 »), une
NumberFormatException sera levée.

 Bloc catch : Attrape la NumberFormatException et affiche un


message d’erreur pour informer l’utilisateur qu’il doit entrer un
nombre valide.

 Bloc finally : Ferme le scanner pour libérer les ressources.

Exercice 4:

Écrire un programme Java qui crée un tableau et demande à l’utilisateur


d’entrer un index pour récupérer une valeur. Si l’utilisateur entre un index
qui est en dehors des limites du tableau, une
ArrayIndexOutOfBoundsException sera levée.

Exemple:

Entrez un index pour récupérer la valeur (0 à 4): 5

Erreur: L'index est en dehors des limites du tableau.


package [Link];
import [Link];
public class Indextab {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
// Création d'un tableau de taille 5
int[] tableau = new int[5];

// Remplir le tableau avec des valeurs


for (int i = 0; i < [Link]; i++) {
// Remplissage avec des multiples de 10
tableau[i] = i * 10;
}
[Link]("Entrez un index pour récupérer la valeur (0 à 4):
");
try {
// Lecture de l'index de l'utilisateur
int index = [Link]();
// Essayer de récupérer la valeur à cet index
[Link]("Valeur à l'index "+ index +" : "+
tableau[index]);
} catch (ArrayIndexOutOfBoundsException e) {
// Attraper l'exception si l'index est en dehors des limites
[Link]("Erreur: L'index est en dehors des limites
du tableau.");
} catch (Exception e) {
// Attraper d'autres exceptions possibles
[Link]("Erreur: Veuillez entrer un entier
valide.");
} finally {
[Link]();
}
}
}

Exercice 5:

Écrire un programme Java qui demande à l'utilisateur d'entrer une note


(un nombre entre 0 et 100). Le programme gère les exceptions suivantes :

 InputMismatchException si l'utilisateur entre un type de données


non valide.

 IllegalArgumentException si la note est en dehors de l'intervalle


valide (0 à 100).

Exemple:

Entrez une note (0 à 100) : 150

Erreur : La note doit être entre 0 et 100.

Fin du programme.

----------------------------------------

Entrez une note (0 à 100) : quatre-vingt

Erreur : Veuillez entrer un nombre entier valide.

Fin du programme.
package [Link];
import [Link];
import [Link];
public class Notesvalides {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);

try {
[Link]("Entrez une note (0 à 100) : ");
// Ligne suivante peut lever InputMismatchException
int note = [Link]();

// Vérifier si la note est dans l'intervalle valide


if (note < 0 || note > 100) {
throw new IllegalArgumentException("Erreur : La note doit
être entre 0 et 100.");
}
[Link]("Vous avez entré la note : " + note);

} catch (InputMismatchException e) {
// Attrape l'exception si l'utilisateur entre un type de
// données non valide
[Link]("Erreur : Veuillez entrer un nombre entier
valide.");
} catch (IllegalArgumentException e) {
// Attrape l'exception si la note est en dehors des
// limites
[Link]("Erreur : " + [Link]());
} finally {
[Link]("Fin du programme.");
[Link](); // Fermer le scanner
}
}
}

Vous aimerez peut-être aussi