Concepts fondamentaux des exceptions

2.1 Les différents types d’exceptions

En Java, il existe deux types d’exceptions : les exceptions vérifiées (checked exceptions) et les exceptions non vérifiées (unchecked exceptions). Les exceptions vérifiées doivent être gérées explicitement par le programmeur, soit en les capturant avec un bloc try-catch, soit en les déclarant dans la signature de la méthode avec le mot-clé throws. Les exceptions non vérifiées, telles que les erreurs d’exécution (runtime errors), peuvent survenir à n’importe quel moment et ne nécessitent pas de gestion explicite.

2.2 Hiérarchie des exceptions

Toutes les exceptions en Java sont des sous-classes de la classe Throwable. Cette classe a deux sous-classes principales : Exception (pour les exceptions qui peuvent être gérées) et Error (pour les erreurs graves qui ne sont généralement pas récupérables). Les exceptions sont organisées en une hiérarchie, ce qui permet une gestion plus précise des erreurs selon leur type.

2.3 Utilisation de la classe Throwable

La classe Throwable est la superclasse de toutes les exceptions et erreurs en Java. Elle fournit des méthodes telles que getMessage() pour obtenir le message d’erreur associé à l’exception, printStackTrace() pour afficher la trace de la pile, et d’autres méthodes pour inspecter et manipuler les exceptions.

Exemple :

Considérons un exemple où une exception vérifiée (IOException) est déclarée dans la signature de la méthode :

import java.io.*;

public class Main {
    public static void main(String[] args) {
        try {
            readFile("example.txt");
        } catch (IOException e) {
            System.err.println("Erreur : Impossible de lire le fichier !");
        }
    }

    public static void readFile(String fileName) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader(fileName));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
    }
}

Dans cet exemple, la méthode readFile déclare une exception vérifiée (IOException) dans sa signature. Lorsque cette méthode est appelée dans main, le compilateur exige que les appels de cette méthode soient entourés d’un bloc try-catch ou que la méthode main déclare également throws IOException.

Ce chapitre fournit une compréhension approfondie des différents types d’exceptions en Java et de leur hiérarchie. Les chapitres suivants exploreront les techniques spécifiques pour gérer et traiter ces exceptions dans vos programmes Java.

Laisser un commentaire

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