Page 2
Question 2
L'entier saisi doit être impérativement supérieur à 10.
On demande donc de créer une classe d'exception adaptée à cette erreur, puis de modifier
le programme afin de traiter ce cas d'erreur.
Note : On aurait pu utiliser l'exception prédéfinie IllegalArgumentException pour vérifier que
l'entier saisi est supérieur à 10.
Solution 2 :
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);
}
}
MonException
Exception {
private String msg = "La valeur est infénieure à 10";
public MonException() {
}
public String getMsg() {
return msg;
}
}