Vous êtes sur la page 1sur 3

TP N 9 : Exceptions

Langage JAVA

Exercice : saisie correcte

On veut crire la fonction saisieCorrecte qui permet de saisir correctement un entier. Si


l'utilisateur saisit une donne dont le format n'est pas celui d'un entier, le programme lve
l'exception InputMismatchException.

Question 1

La fonction devra traiter cette erreur en fournissant une solution alternative. Un message
d'erreur sera affich avec la proposition d'effectuer une nouvelle saisie.
Note : la classe InputMismatchException appartient au package java.util.
import java.util.InputMismatchException;
import java.util.Scanner;
public class Test {
public static void saisieCorrect() throws InputMismatchException{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(n);
}
public static void main(String[] args) {
do{
try {
System.out.println("Veuillez saisir une entier :");
saisieCorrect();
break;
} catch (InputMismatchException e) {
System.out.println("erreur de saisi");
}
}while(true);
}
}

Page 1

Question 2

L'entier saisi doit tre imprativement suprieur 10.


On demande donc de crer une classe d'exception adapte cette erreur, puis de modifier
le programme afin de traiter ce cas d'erreur.
Note : On aurait pu utiliser l'exception prdfinie IllegalArgumentException pour vrifier que
l'entier saisi est suprieur 10.

import java.util.InputMismatchException;
import java.util.Scanner;
public class Test {
public static void saisieCorrect() throws InputMismatchException, IllegalArgumentException{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n < 10) throw new IllegalArgumentException();
System.out.println(n);
}
public static void main(String[] args) {
do{
try {
System.out.println("Veuillez saisir une entier :");
saisieCorrect();
break;
} catch (InputMismatchException e) {
System.out.println("Saisi incorrect");
} catch (IllegalArgumentException e) {
System.out.println("le nombre saisi < 10");
}
}while(true);
}
}

Solution 2 :
public class MonException extends Exception {
private String msg = "La valeur est infnieure 10";
public MonException() {
}
public String getMsg() {
return msg;
}
}

Page 2

import java.util.InputMismatchException;
import java.util.Scanner;
public class Test {
public static void saisieCorrect() throws InputMismatchException, MonException{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n < 10) throw new MonException();
System.out.println(n);
}
public static void main(String[] args) {
do{
try {
System.out.println("Veuillez saisir une entier :");
saisieCorrect();
break;
} catch (InputMismatchException e) {
System.out.println("Format incorrecte");
} catch (MonException e) {
System.out.println(e.getMsg());
}
}while(true);
}
}

Page 3

Vous aimerez peut-être aussi

  • BD Pizza
    BD Pizza
    Document3 pages
    BD Pizza
    Zakaria Amine
    Pas encore d'évaluation
  • Expo SR
    Expo SR
    Document11 pages
    Expo SR
    Zakaria Amine
    Pas encore d'évaluation
  • PR Ése Ntation
    PR Ése Ntation
    Document16 pages
    PR Ése Ntation
    Zakaria Amine
    Pas encore d'évaluation
  • Bennamane Rapport
    Bennamane Rapport
    Document14 pages
    Bennamane Rapport
    Zakaria Amine
    Pas encore d'évaluation
  • 761
    761
    Document3 pages
    761
    Zakaria Amine
    Pas encore d'évaluation
  • Carte D'etudiant (E) : Page 1/1
    Carte D'etudiant (E) : Page 1/1
    Document1 page
    Carte D'etudiant (E) : Page 1/1
    Zakaria Amine
    Pas encore d'évaluation
  • Jeep Rise RV Med
    Jeep Rise RV Med
    Document2 pages
    Jeep Rise RV Med
    Zakaria Amine
    Pas encore d'évaluation
  • Jeep Rise RV Med
    Jeep Rise RV Med
    Document2 pages
    Jeep Rise RV Med
    Zakaria Amine
    Pas encore d'évaluation
  • PR Ése Ntation 1
    PR Ése Ntation 1
    Document23 pages
    PR Ése Ntation 1
    Zakaria Amine
    Pas encore d'évaluation
  • Gest I On Compte
    Gest I On Compte
    Document3 pages
    Gest I On Compte
    Zakaria Amine
    Pas encore d'évaluation
  • Rapport
    Rapport
    Document4 pages
    Rapport
    Zakaria Amine
    Pas encore d'évaluation
  • Dbai C 1
    Dbai C 1
    Document15 pages
    Dbai C 1
    Zakaria Amine
    Pas encore d'évaluation
  • TP QCM
    TP QCM
    Document4 pages
    TP QCM
    Zakaria Amine
    Pas encore d'évaluation
  • Serie1, Servlet PDF
    Serie1, Servlet PDF
    Document2 pages
    Serie1, Servlet PDF
    Zakaria Amine
    Pas encore d'évaluation
  • Eucalyptus
    Eucalyptus
    Document1 page
    Eucalyptus
    Zakaria Amine
    Pas encore d'évaluation
  • Serie1, Servlet
    Serie1, Servlet
    Document2 pages
    Serie1, Servlet
    Zakaria Amine
    Pas encore d'évaluation
  • QCM 1ère STG - Le Système D'information
    QCM 1ère STG - Le Système D'information
    Document10 pages
    QCM 1ère STG - Le Système D'information
    Zakaria Amine
    Pas encore d'évaluation
  • Dbai C 2
    Dbai C 2
    Document34 pages
    Dbai C 2
    Zakaria Amine
    Pas encore d'évaluation