Contenu du cours
Bibliothèque Java JUnit. Types de Tests
Bibliothèque Java JUnit. Types de Tests
Lancer des Exceptions
Approfondissons les exceptions. Vous avez déjà rencontré des exceptions, mais nous ne les avons pas explorées en détail. Maintenant, nous allons les discuter plus en profondeur et apprendre à les créer et les gérer par nous-mêmes dans cette section.
Pourquoi apprenons-nous les exceptions dans un cours de test ?
Tester le code est fait pour améliorer le code et le rendre plus professionnel. Par conséquent, vous devez également savoir comment lancer, attraper et créer des exceptions et, par la suite, comment tester correctement les méthodes avec des exceptions.
Commençons par la définition :
Maintenant, mettons cela en termes simples. Supposons que vous écriviez une méthode pour diviser deux nombres. En mathématiques, nous savons que vous ne pouvez pas diviser par zéro. Dans le cas où un utilisateur de notre code essaie de diviser par zéro, nous devons lui dire que ce n'est pas possible, et nous le ferons en utilisant une exception. Par exemple, notre méthode ressemble à ceci :
Dans cette classe, nous pouvons voir où nous devons lancer une exception. Après qu'une exception est lancée, l'exécution du programme s'arrêtera, et l'utilisateur verra un message sur la console indiquant que la division par 0 n'est pas autorisée.
Vous pouvez lancer une exception en utilisant le mot-clé throw
. Puisqu'une exception est un objet, nous devons créer un nouvel objet exception en utilisant un constructeur. Dans le code, cela ressemblera à ceci :
Comme vous pouvez le voir, nous lançons un nouvel objet RuntimeException
qui arrêtera l'exécution du programme si nous tentons de diviser par zéro. Dans les paramètres, nous avons fourni le texte qui sera affiché à l'écran si une exception est lancée. Cependant, RuntimeException
n'est pas l'exception la plus appropriée pour ce cas. Ici, nous pouvons voir une erreur liée aux opérations arithmétiques, donc nous devrions utiliser une exception qui indique, par son nom, que l'erreur est liée aux opérations arithmétiques :
ArithmeticException
indique clairement par son nom que l'erreur est liée aux opérations arithmétiques. De cette manière, vous pouvez lancer des exceptions dans vos vérifications ou blocs de code. Il est bon de spécifier throws ExceptionName
dans une méthode qui lance une exception. De cette façon, vous verrez que cette méthode lancera une exception spécifique.
Regardons la classe entière où nous essayons de lancer une exception :
Main
package com.example; public class Main { public static double divide(int numerator, int denominator) throws ArithmeticException { if (denominator == 0) { throw new ArithmeticException("Division by zero is not allowed."); } return (double) numerator / denominator; } public static void main(String[] args) { double result = divide(10, 0); System.out.println(result); } }
Comme vous pouvez le voir, lorsque nous exécutons et effectuons une division par zéro, une erreur avec un message descriptif sur ce qui s'est mal passé est lancée. Plus tard dans le cours, vous apprendrez comment intercepter de telles exceptions et les gérer, créer vos propres exceptions personnalisées, puis tester des méthodes avec elles.
1. Quel est le but d'une exception en Java ?
2. Comment pouvez-vous lancer une exception dans une méthode Java ?
3. Quelle exception doit être levée pour une erreur arithmétique comme une division par zéro ?
Merci pour vos commentaires !