Cas d’étude et exemples pratiques

Introduction :

La gestion des exceptions est un aspect essentiel du développement d’applications Java, que ce soit en environnement Java SE (Standard Edition) ou Java EE (Enterprise Edition). Dans ce chapitre, nous explorerons plusieurs cas d’étude et exemples pratiques pour illustrer l’importance et les techniques de gestion des exceptions dans le contexte de Java SE.

Cas d’étude : Application de gestion des contacts

Dans ce cas d’étude, nous allons concevoir une application simple de gestion des contacts en Java SE. Cette application permettra à l’utilisateur d’ajouter, de supprimer et d’afficher des contacts. Nous nous concentrerons particulièrement sur la gestion des exceptions pour garantir que l’application fonctionne de manière fiable et sans erreur.

Code Java :

import java.util.ArrayList;
import java.util.List;

public class ContactManager {
    private List<String> contacts;

    public ContactManager() {
        contacts = new ArrayList<>();
    }

    public void addContact(String contact) {
        contacts.add(contact);
    }

    public void removeContact(String contact) {
        if (contacts.contains(contact)) {
            contacts.remove(contact);
        } else {
            throw new IllegalArgumentException("Le contact spécifié n'existe pas !");
        }
    }

    public void displayContacts() {
        if (contacts.isEmpty()) {
            System.out.println("Aucun contact n'est enregistré.");
        } else {
            System.out.println("Liste des contacts :");
            for (String contact : contacts) {
                System.out.println(contact);
            }
        }
    }
}

Explication :

Ce code Java définit une classe ContactManager qui gère une liste de contacts. Les méthodes addContact, removeContact et displayContacts permettent respectivement d’ajouter un contact, de supprimer un contact et d’afficher tous les contacts. Si une erreur survient, comme une tentative de suppression d’un contact inexistant, une exception de type IllegalArgumentException est levée.

Exemple pratique : Traitement de fichiers CSV

Dans cet exemple pratique, nous aborderons la lecture et l’analyse de fichiers CSV en Java SE. Nous écrirons un programme qui lit un fichier CSV contenant des données de contact, les analyse et affiche les informations des contacts. Nous mettrons également en place une gestion des exceptions pour gérer les erreurs qui pourraient survenir lors de la lecture ou de l’analyse du fichier CSV.

Code Java :

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class CSVReader {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new FileReader("contacts.csv"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                String[] parts = line.split(",");
                if (parts.length == 2) {
                    String name = parts[0];
                    String email = parts[1];
                    System.out.println("Nom : " + name + ", Email : " + email);
                } else {
                    System.err.println("Format invalide pour la ligne : " + line);
                }
            }
        } catch (IOException e) {
            System.err.println("Erreur de lecture du fichier CSV : " + e.getMessage());
        }
    }
}

Explication :

Ce code Java utilise un BufferedReader pour lire chaque ligne du fichier CSV. Ensuite, chaque ligne est séparée en parties en utilisant la virgule comme délimiteur. Si une ligne ne contient pas deux parties (nom et email), un message d’erreur est affiché. En cas d’erreur lors de la lecture du fichier CSV, un message d’erreur est également affiché.

Exemple supplémentaire : Traitement de données provenant d’une API REST

Dans cet exemple, nous allons simuler la récupération de données d’une API REST qui fournit des informations sur des utilisateurs. Nous écrirons un programme Java qui envoie une requête à l’API REST, récupère les données des utilisateurs et les affiche. Nous mettrons également en place une gestion des exceptions pour gérer les erreurs qui pourraient survenir lors de la communication avec l’API REST.

Code Java :

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;

public class UserAPIReader {
    public static void main(String[] args) {
        try {
            // URL de l'API REST
            URL url = new URL("https://jsonplaceholder.typicode.com/users");
            
            // Ouverture de la connexion
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            
            // Vérification du code de réponse
            int responseCode = conn.getResponseCode();
            if (responseCode != 200) {
                throw new IOException("Erreur : Code de réponse " + responseCode);
            }
            
            // Lecture des données de la réponse
            Scanner scanner = new Scanner(conn.getInputStream());
            StringBuilder response = new StringBuilder();
            while (scanner.hasNextLine()) {
                response.append(scanner.nextLine());
            }
            scanner.close();
            
            // Affichage des données des utilisateurs
            System.out.println("Données des utilisateurs :");
            System.out.println(response.toString());
        } catch (IOException e) {
            System.err.println("Erreur lors de la communication avec l'API : " + e.getMessage());
        }
    }
}

Explication :

Ce code Java envoie une requête GET à une API REST (https://jsonplaceholder.typicode.com/users), récupère les données des utilisateurs et les affiche. La classe HttpURLConnection est utilisée pour établir une connexion avec l’API, et le code de réponse est vérifié pour s’assurer que la requête a été réussie (code 200). En cas d’erreur, une exception IOException est levée et gérée de manière appropriée.

Conclusion :

Ce chapitre a exploré différents cas d’étude et exemples pratiques pour illustrer la gestion des exceptions dans les applications Java SE. En comprenant les principes de base de la gestion des exceptions et en les appliquant à des situations concrètes, vous serez mieux équipé pour développer des applications Java robustes et fiables. La gestion des exceptions est un aspect crucial du développement logiciel, et une bonne compréhension de ses concepts et techniques est essentielle pour garantir le bon fonctionnement de vos applications.

Laisser un commentaire

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