top of page

Gestion des exceptions

Salut, aventurier du code ! Aujourd'hui, préparons-nous à naviguer dans les eaux tumultueuses de la gestion des exceptions en Java. Imagine cela comme la navigation en haute mer, où tu dois être prêt à affronter des vagues imprévisibles. La gestion des exceptions est ta boussole, ta carte au trésor pour éviter les écueils et garantir une navigation fluide dans le monde de Java. Allons jeter l'ancre dans cet univers !


1. Les Exceptions - Des Vagues Inattendues

Les exceptions sont comme des vagues inattendues dans le vaste océan du code. Elles surviennent lorsqu'une situation anormale se produit, comme la division par zéro ou l'accès à un index hors limites d'un tableau. C'est un peu comme naviguer dans le brouillard, tu ne sais jamais quand une vague inattendue va frapper.

int résultat;
try {
    résultat = 10 / 0; // Division par zéro provoquant une exception
} catch (ArithmeticException e) {
    System.out.println("Oups ! Une vague inattendue : " + e.getMessage());
}

Ici, une exception ArithmeticException est lancée lorsque tu essaies de diviser par zéro.


2. Bloc Try-Catch - Le Gilet de Sauvetage

Le bloc try-catch est comme un gilet de sauvetage dans le monde des exceptions. Il te permet de tenter une action risquée (dans le bloc try) et de rattraper les exceptions potentielles (dans le bloc catch). C'est un peu comme jeter une ligne de sauvetage quand le bateau commence à tanguer.

Scanner scanner = new Scanner(System.in);
try {
    int nombre = scanner.nextInt();
    System.out.println("Tu as saisi : " + nombre);
} catch (InputMismatchException e) {
    System.out.println("Ce n'est pas un nombre ! Erreur : " + e.getMessage());
}

Ici, le bloc try-catch évite que le programme ne sombre si l'utilisateur ne saisit pas un nombre.


3. Bloc Finally - Le Port de Secours

Le bloc finally est comme un port de secours, une zone sûre où tu peux mettre des actions importantes, qu'une exception soit survenue ou non. C'est comme un endroit où tu te réfugies après avoir affronté une tempête.

FileReader fichier = null;
try {
    fichier = new FileReader("monFichier.txt");
    // Traitement du fichier
} catch (FileNotFoundException e) {
    System.out.println("Fichier introuvable : " + e.getMessage());
} finally {
    if (fichier != null) {
        fichier.close(); // Ferme le fichier, que l'exception soit survenue ou non
    }
}

Ici, le bloc finally assure que le fichier est fermé même si une exception survient lors de son ouverture.


4. Les Exceptions Checked vs Unchecked - Marées Hautes et Basses

Il existe deux types d'exceptions en Java : les checked (vérifiées) et les unchecked (non vérifiées). Les checked sont comme les marées hautes, elles doivent être traitées explicitement dans le code. Les unchecked sont comme les marées basses, tu peux les ignorer si tu es prêt à affronter les conséquences.

// Exception checked (FileNotFoundException) - elle doit être traitée explicitement
try {
    FileReader fichier = new FileReader("monFichier.txt");
} catch (FileNotFoundException e) {
    System.out.println("Fichier introuvable : " + e.getMessage());
}

// Exception unchecked (ArithmeticException) - elle peut être ignorée
int résultat = 10 / 0; // Division par zéro provoquant une exception unchecked

5. Créer des Exceptions Personnalisées - Le Cri du Capitaine

Parfois, tu as besoin de crier "À l'abordage !" avec une exception personnalisée. Crée ta propre exception pour signaler des situations spécifiques dans ton code. C'est comme si le capitaine criait une alerte à l'équipage.

class TrésorCachéException extends RuntimeException {
    TrésorCachéException(String message) {
        super(message);
    }
}

// Utilisation de l'exception personnalisée
throw new TrésorCachéException("Oh non ! Le trésor est introuvable !");

Ici, l'exception TrésorCachéException est une extension de RuntimeException et peut être utilisée pour signaler des situations exceptionnelles spécifiques.


Conclusion

Bravo, capitaine du code ! Tu as maintenant navigué avec succès à travers les eaux agitées de la gestion des exceptions en Java. Que ce soit pour affronter les vagues inattendues avec des blocs try-catch, trouver refuge dans le port de secours avec le bloc finally, comprendre les marées hautes et basses des exceptions checked et unchecked, ou même crier l'alarme avec des exceptions personnalisées, que ta boussole exceptionnelle continue à guider ton navire codeur à travers tous les défis !

2 vues0 commentaire

Posts similaires

Voir tout

Tests Unitaires (JUnit)

Bienvenue dans l'univers des super-héros du code, là où les bugs craignent de s'aventurer et où les erreurs sont chassées sans pitié....

Comments


bottom of page