Middle
Quelles sont les méthodes de traitement des exceptions vérifiées?
sobes.tech IA
Réponse de l'IA
- Utiliser le bloc
try-catch: permet d’intercepter une exception et de la traiter, évitant ainsi une terminaison inattendue du programme. - Déclarer qu’une méthode peut lancer une exception, en utilisant le mot-clé
throwsdans la signature de la méthode : cela transfère la responsabilité de la gestion au code appelant. - Envelopper une exception vérifiable dans une non vérifiable : permet de propager l’exception sans gestion explicite, mais peut masquer un problème réel.
Exemple d’utilisation de try-catch :
// Exemple d’utilisation de try-catch pour gérer une exception vérifiable
try {
// Code pouvant lancer une exception vérifiable (par exemple, IOException)
FileReader file = new FileReader("my_file.txt");
// Travail avec le fichier...
} catch (IOException e) {
// Gestion de l’exception IOException
e.printStackTrace(); // Affiche la pile d’appels pour le débogage
System.err.println("Erreur lors du travail avec le fichier : " + e.getMessage());
}
Exemple d’utilisation de throws :
// Exemple d’utilisation de throws dans la signature de la méthode
public void readFile(String fileName) throws IOException {
FileReader file = new FileReader(fileName);
// Travail avec le fichier...
}
// Le code appelant doit gérer IOException ou la déclarer dans sa propre signature
public void processFile(String filePath) {
try {
readFile(filePath);
} catch (IOException e) {
System.err.println("Erreur lors de la lecture du fichier : " + e.getMessage());
}
}
Exemple d’enveloppement dans une exception non vérifiable :
// Exemple d’enveloppement d’une exception vérifiable dans une non vérifiable
public void unsafeOperation() {
try {
// Code pouvant lancer une exception vérifiable
throw new IOException("Exemple IOException");
} catch (IOException e) {
// Transformation de l’exception vérifiable en une non vérifiable
throw new RuntimeException("Une erreur a été détectée dans l’opération", e);
}
}