Les exceptions personnalisées en Java

Dans ce tutoriel, nous allons découvrir comment créer une exception personnalisée en Java. Nous expliquerons comment les exceptions définies par l’utilisateur sont implémentées et utilisées pour les exceptions contrôlées et non contrôlées( parfois on dit exceptions vérifiées et non vérifiées).
 
 
En Java, il existe deux types d’exceptions: les exceptions contrôlées et les exceptions non contrôlées.

  • Les exceptions contrôlées
    • Héritent de java.lang.Exception,
    • pour une condition récupérable, telles que les erreurs de compilation,
    • déclaration explicite de try-catch.
  • Les exceptions non contrôlées
    • Héritent de java.lang.RuntimeException,
    • pour les conditions irrécupérables, telles que les erreurs de programmation, erreur d’exécution,
    • aucune try-catch n’est explicite.
Différence entre Exception et Error en javaDifférence entre Exception et Error en javaQuelle est la différence entre Exception et Error en java ? – La classe java.lang.Error et java.lang.Exception les deux sont des sous-classes de la classe java.lang.Throwable,…Lire plus
Exception contrôlées

Une exception contrôlées est un type d’exception qui doit être interceptée ou déclarée dans la méthode dans laquelle elle est générée. Par exemple, l’exception java.io.IOException est une exception contrôlées. Pour créer ce type d’exception, hériter la classe java.lang.Exception

//Définition de l'exception
class AgeInvalidException extends Exception{

    AgeInvalidException(String s){  
        super(s);  
    }  
	
}

//Classe qui utilise notre exception définie
public class TestCustomException{  
  
   static void check(int age) throws AgeInvalidException{
     if(age < 20)  
         throw new AgeInvalidException("Pas valide");
     else  
         System.out.println("Valide");
   }  
     
   public static void main(String args[]){
      try{  
         check(15);  
      }catch(Exception ex){
             System.out.println("Une exception s'est produite: "+ex);
      }
  
      System.out.println("...");  
  }  
}

La sortie:

Une exception s'est produite: AgeInvalidException: Pas valide
     ...

Exemple d’exceptions contrôlées les plus utilisés : FileNotFoundException, IOException
 
QCM-JavaQCM Java – Programmation Orientée ObjetQCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus

Exception non contrôlées

Les exception non contrôlées sont les exceptions qui ne sont pas contrôlée au moment de la compilation. En C++, toutes les exceptions sont des exceptions non contrôlées, le compilateur n’oblige donc pas à gérer ni à spécifier l’exception. Dans Java, les exceptions sous les classes « Error » et « RuntimeException » sont des exceptions non contrôlées, tout le reste sous la classe « Throwable » est contrôlée. Pour créer une exception non contrôlée, hériter la classe java.lang.RuntimeException

import java.util.*;

//Définition de l'exception
class LargeListException extends RuntimeException{

 public LargeListException(String message) {
    super(message);
 }
}

//Classe qui utilise notre exception définie
public class Stock {

 public void check(List<String> products) {

   if (products.size() > 10) {
     throw new LargeListException("La liste ne peut dépasser 10 produits!");
  }

   //...
}

 public static void main(String[] args) {

   Stock stock = new Stock();

   List<String> products = new ArrayList<>();

   for(int i = 0; i < 20; i++){
      products.add("Product"+i);
   }
		
   stock.check(products);
 }
}

La sortie:

Exception in thread "main" LargeListException: La liste ne peut dépasser 10 produits!
	at Stock.check(Stock.java:16)
	at Stock.main(Stock.java:33)
Command exited with non-zero status 1

Exemple d’exceptions non contrôlées les plus utilisés : IllegalArgumentException, NullPointerException
 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *