English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet exemple, nous allons apprendre à créer des exceptions vérifiées et non vérifiées en Java.
Pour comprendre cet exemple, vous devriez comprendre ce qui suitProgrammation JavaThème :
import java.util.ArrayList; import java.util.Arrays; //Créer une classe d'exception de contrôle personnalisée class CustomException extends Exception { public CustomException(String message) { //Appeler le constructeur de la classe Exception super(message); } } class Main { ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "JavaScript")); //Vérifier l'exception public void checkLanguage(String language) throws CustomException { // Si language est déjà présent dans ArrayList, alors lancer une exception if(languages.contains(language)) { throw new CustomException(language + " déjà existante"); } else { // Insérer language dans ArrayList languages.add(language); System.out.println(language + " déjà ajouté à ArrayList"); } } public static void main(String[] args) { // Create an object of the Main class Main obj = new Main(); //Utiliser try...catch pour gérer les exceptions try { obj.checkLanguage("Swift"); obj.checkLanguage("Java"); } catch(CustomException e) { System.out.println("[") + e + "] Exception survenue"); } } }
Output result
Swift a été ajouté à ArrayList [CustomException: Java already exists] Exception survenue
Dans l'exemple précédent, nous avons étendu la classe Exception pour créer une exception personnalisée nommée CustomException. Ici, nous utilisons la clé super() pour appeler le constructeur du type Exception de la classe CustomException.
Dans la méthode checkLanguage(), nous vérifions les cas d'exception, et si une exception se produit, le bloc try..catch traitera l'exception.
Ici, c'est une exception vérifiée. Nous pouvons également créer une classe d'exception non vérifiée en Java. Pour plus d'informations sur les exceptions vérifiées et non vérifiées, veuillez consulterException Java.
import java.util.ArrayList; import java.util.Arrays; //Créer une classe d'exception non vérifiée class CustomException extends RuntimeException { public CustomException(String message) { //Appeler le constructeur du RuntimeException super(message); } } class Main { ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "JavaScript")); //Vérifier les cas d'exception public void checkLanguage(String language) { //Si la langue de programmation existe déjà dans ArrayList, l'exception est levée if(languages.contains(language)) { throw new CustomException(language + " déjà existante"); } else { //Insérer une langue de programmation dans ArrayList languages.add(language); System.out.println(language + " déjà ajouté à ArrayList"); } } public static void main(String[] args) { //Create an object of the Main class Main obj = new Main(); //Check if the programming language already exists obj.checkLanguage("Swift"); obj.checkLanguage("Java"); } }
Output result
Swift is added to ArrayList Exception in thread "main" CustomException: Java already exists at Main.checkLanguage (Main.java:21) at Main.main (Main.java:37)
In the above example, we extended the RuntimeException class to create unchecked custom exception classes.
Here, you may have noticed that we have not declared anytry ... catchblock. This is because unchecked exceptions are checked at runtime.
In addition, other functionalities not checked for exceptions are similar to the above program.