Maison >Java >javaDidacticiel >Java ArithmétiqueException
L'exception arithmétique Java est une sorte d'erreur non vérifiée ou de résultat inhabituel de code qui est générée lorsqu'une mauvaise opération arithmétique ou mathématique se produit dans le code au moment de l'exécution. Un problème d'exécution, également appelé exception, se produit lorsque le dénominateur est un entier 0, que la JVM est incapable d'évaluer le résultat et que, par conséquent, l'exécution du programme est terminée et qu'une exception est levée. Le point auquel l'exception a été déclenchée, le programme se termine mais le code antérieur est exécuté et le résultat est affiché.
La classe de base de l'exception arithmétique Java est lang.ArithmeticException, qui relève de java.lang.RuntimeException.
PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Structure de la classe de base ArithmeticException :
1. ArithmeticException() : Définissez une exception arithmétique sans paramètre passé ou sans message détaillé.
2. ArithmeticException(String s): Définissez une ArithmeticException avec un paramètre passé.
s :s est le message détaillé
Vous trouverez ci-dessous les deux situations pouvant conduire à Java ArithmeticException :
Une exception arithmétique en Java est levée lorsque nous essayons de diviser un nombre par zéro. Ci-dessous le code java pour illustrer l'opération :
Code :
package com.java.exception; public class ArithmeticException { void division(int a,int b) { int c=a/b; System.out.println("Division has been successfully done"); System.out.println("Value after division: "+c); } public static void main(String[] args) { ArithmeticException ex=new ArithmeticException(); ex.division(10,0); } }
Sortie :
Comme nous avons divisé 10 par 0, où 0 est un entier et n'est pas défini, cela lève une exception arithmétique supérieure.
Code :
//package com.java.exception; public class ArithmeticException { void division(int a,int b) { int c=a/b; System.out.println("Division of a number is successful"); System.out.println("Output of division: "+c); } public static void main(String[] args) { ArithmeticException ex=new ArithmeticException(); ex.division(10,5); } }
Sortie :
Java possède une classe BigDecimal qui représente des nombres décimaux jusqu'à un grand nombre de chiffres de précision. Cette classe de Java possède également un ensemble de fonctionnalités qui ne sont pas disponibles dans les types de données primitifs, par exemple entier, double et flottant. Ces fonctionnalités permettent d'arrondir les nombres décimaux
Ci-dessous le code à titre d'illustration :
Code :
//package com.java.exception; import java.math.BigDecimal; public class ArithmeticException { public static void main(String[] args) { BigDecimal a=new BigDecimal(1); BigDecimal b=new BigDecimal(6); a=a.divide(b); System.out.println(a.toString()); } }
Sortie :
Dans le code Java écrit ci-dessus, comme la grande classe décimale ne sait pas quoi faire avec la sortie de division, elle lève ou affiche donc une exception arithmétique dans la console de sortie.
Il génère une exception avec un message détaillé « Expansion décimale sans fin, pas de représentation exacte. »
Une solution possible pour la grande classe décimale ci-dessus est d'indiquer le nombre de décimales dont nous avons besoin à partir d'un grand nombre décimal, puis de limiter la valeur à un nombre défini de décimales. Par exemple, c doit être limité à 7 décimales en arrondissant le nombre à la 7ième valeur de précision décimale.
Code :
//package co.java.exception; import java.math.BigDecimal; public class ArithmeticException { public static void main(String[] args) { BigDecimal a=new BigDecimal(1); BigDecimal b=new BigDecimal(6); a=a.divide(b,7,BigDecimal.ROUND_DOWN);// limit of decimal place System.out.println(a.toString()); } }
Sortie :
La console de sortie affiche le résultat sous la forme d'un nombre avec une 7ième valeur de point décimal, ce qui signifie que l'arrondi fonctionne correctement.
La gestion de l'exception levée par la machine virtuelle Java est appelée gestion des exceptions. L'avantage de la gestion des exceptions est que l'exécution du code n'est pas arrêtée.
Une exception est gérée en utilisant une combinaison de try et catch. Un bloc try/catch est placé dans le code qui pourrait générer une exception. Le code écrit à l’intérieur d’un bloc try/catch est appelé code protégé.
Syntaxe :
try { set of statements//protected code } catch (exceptionname except) { // Catch set of statements---can contain single catch or multiple. }
Code:
public class ExceptionHandled { public static void main(String args[]) { int x =100, y = 0; int z; System.out.println("Hello world"); try { z = x/y; System.out.println(z); } catch(ArithmeticException except) { System.out.println("Avoid dividing by integer 0" + except ); } System.out.println("Hello class"); System.out.println("Hello there"); } }
Output:
Hello class and Hello, there are also printed on the output console apart from Hello world. This is the outcome of the exception handling mechanism.
Explanation:
This article has learned about java arithmetic exception and how to handle the exception under try and catch block. An arithmetic exception occurs most of the time because of the division of a number by integer 0. In this article, I have used a single catch for a single try, but we can also use multiple catch for a single try.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!