Les exceptions en Java

Une exception est un événement indésirable ou inattendu, qui se produit pendant l’exécution d’un programme, c’est-à-dire au moment de l’exécution, qui perturbe le flux normal des instructions du programme.
 

Différence entre Exception et Error

L’erreur se produit uniquement lorsque les ressources système sont insuffisantes alors qu’une exception est provoquée si un code rencontre un problème. Une erreur ne peut jamais être récupérée alors qu’une exception peut être récupérée en préparant le code pour gérer l’exception

Les exceptions sont celles qui peuvent être gérées au moment de l’exécution alors que les erreurs ne peuvent pas être gérées.

 
 

Hiérarchie des exceptions

Exception et Error sont des sous-classes de la classe Throwable, qui est la classe de base de la hiérarchie. Exception, cette classe est utilisée pour des conditions exceptionnelles que les programmes utilisateur doivent intercepter. NullPointerException est un exemple d’une telle exception. La classe Error, est utilisée par Java Virtual Machine (JVM) pour indiquer les erreurs liées à l’environnement d’exécution lui-même (JRE). StackOverflowError est un exemple d’une telle erreur.
 


 

Types d’exceptions Java

Il existe principalement deux types d’exceptions: contrôlées et non contrôlées.

 
 

Comment JVM gère une exception?

Chaque fois dans une méthode, si une exception s’est produite, la méthode crée un objet appelé Exception et le transmet au JVM. L’objet Exception contient le nom et la description de l’exception, ainsi que l’état actuel du programme où l’exception s’est produite. Il peut y avoir la liste des méthodes qui ont été appelées pour accéder à la méthode où l’exception s’est produite. Cette liste des méthodes est appelée Call Stack.
 

Exemple:
public class Main 
{       
    public static void main(String args[])
    {       
        float res = 1/0;
        System.out.println(res); 
          
    } 
}

Sortie:

Exception in thread "main" java.lang.ArithmeticException: / by zero
	at Main.main(Main.java:7)

 

Comment un programmeur gère une exception?

La gestion des exceptions en Java est gérée via cinq mots clés: try, catch, throw, throws, et finally.

Mot-clé
Description
try Le mot clé « try » est utilisé pour spécifier un bloc où nous devons placer le code d’exception. Le bloc « try » doit être suivi par « catch » ou « finally ». Cela signifie que nous ne pouvons pas utiliser le bloc « try » seul.
catch Le bloc « catch » est utilisé pour gérer l’exception. Il doit être précédé par le bloc « try » ce qui signifie que nous ne pouvons pas utiliser le bloc « catch » seul. Il peut être suivi par le bloc « finally » plus tard.
finally Le bloc « finally » est utilisé pour exécuter le code important du programme. Il est exécuté, que ce soit l’exception est gérée ou non.
throw Le mot clé « throw » est utilisé pour lever une exception.
throws Le mot clé « throws » est utilisé pour déclarer des exceptions. Il spécifie qu’il peut se produire une exception dans une méthode. Il est toujours utilisé avec la signature de méthode.

 
 

Comment utiliser la clause try-catch
try {
	// le code que vous pensez peut déclencher une exception
}
catch (ExceptionType1 e) {
	// gérer l'exception ExceptionType1
}
catch (ExceptionType2 e) {
	// gérer l'exception ExceptionType2
}
// bloc optionnel
finally {
	// bloc de code à exécuter après la fin du bloc try
}

 

Exemple : Gestion des exceptions en Java

Regardons un exemple comment gérer une exception en Java où nous utilisons l’instruction try-catch pour gérer l’exception.

public class Main 
{
  public static void main(String args[])
  {
     try
     {
        //code qui peut déclencher une exception
        int res = 10/0;
     }
     catch(ArithmeticException e)
     {
       	System.out.println(e);
     }
     //le rest du code
     System.out.println("le rest du code...");
  }
}

Sortie:

java.lang.ArithmeticException: / by zero
le rest du code...

Dans l’exemple ci-dessus, 10/0 déclenche l’exception « ArithmeticException » qui est gérée par le bloc try-catch.
 


 
QCM Java - Gestion des exceptions

Laisser un commentaire

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