Lancement d'une erreur de type ArithmeticException
Bonjour,
On sait que lorsqu'une division par 0 est effectuée, cela déclenche automatiquement la création d'une instance de la classe ArithmeticException.
Mais si l'on divise par 0.0 cela ne provoque pas automatiquement la création d'une instance de la classe
ArithmeticException.
J'ai donc forcé la chose pour que si une division par le nombre 0.0 se produit, cela provoque la création d'une d'une instance de la classe ArithmeticException.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
if(operateur.equals("/"))
{
try{
if(Double.parseDouble(ecran.getText())==0.0){
throw new ArithmeticException();
}// fin de if if(Double.parseDouble(ecran.getText())==0.0)
chiffre = chiffre / Double.parseDouble(ecran.getText());
ecran.setText(String.valueOf(chiffre));
}// fin de try
catch(ArithmeticException e){
System.out.println("Une division par le nombre 0 n'est pas permise");
ecran.setText("0");
}// fin de catch
}// fin de if(operateur.equals("/")) |
Est-il cohérent et acceptable de forcer la création d'une instance de la classe ArithmeticException ou est-il préférable, dans ce cas précis, de simplement forcer la création d'une instance de la classe Exception ou d'une classe que j'aurais créée , si on s'en tient que par définition , une instance de la classe ArithmeticException est créée uniquement si l'on divise un nombre par le nombre entier 0 et non pas par le nombre réél 0.0.
Merci beaucoup à vous de votre réponse.
Cordialement.
new_wave
lancement d'une arithmetic exception
Bonjour,
Je vous remercie de votre réponse.
C'est exact, lorsque je divise un double par 0.0 j'obtiens un resultat à m'écran :INFINITY.
J'ai donc bien ma réponse: j'ai décidé que cela ne me plaît pas et il ne s'agit pas d'une ArithmeticException: il est donc préférable de créer une instance de la classe Exception et non pas de la classe ArithmeticException.
Etes-vous d'accord là dessus.
Vous remerciant de votre réponse
Cordialement.
new_wave