Le Bloc Finally
Glissez pour afficher le menu
Le bloc finally en Java constitue une partie essentielle de la gestion des exceptions, garantissant que certains codes s'exécutent toujours, quelle que soit l'issue des blocs try ou catch.
Le bloc finally est généralement utilisé pour des tâches telles que le nettoyage des ressources—fermeture de fichiers, libération de connexions réseau ou gestion de la mémoire—afin que votre application reste robuste et efficace même en cas d'erreurs.
try {
// code
} catch {
// code
} finally {
// code
}
L'exécution du bloc finally est particulière car il s'exécute à chaque fois que l'instruction try associée se termine, qu'une exception soit levée ou non. Si une exception se produit dans le bloc try et est interceptée par un bloc catch, le bloc finally s'exécute après la fin du bloc catch. Si aucune exception n'est levée, le bloc finally s'exécute tout de même après le bloc try. Même si le code dans le bloc try ou catch contient une instruction return, le bloc finally s'exécutera avant que la méthode ne rende le contrôle à l'appelant. Ce comportement fait du bloc finally un emplacement fiable pour les actions qui doivent toujours être effectuées, comme la fermeture de fichiers ou la libération d'autres ressources.
Main.java
12345678910111213141516171819202122package com.example; public class Main { public static void main(String[] args) { String[] numbers = {"10", "20", "not-a-number", "40"}; int index = 2; int result = 0; try { System.out.println("Attempting to parse value..."); result = Integer.parseInt(numbers[index]); System.out.println("Parsed value: " + result); } catch (NumberFormatException e) { System.out.println("Parsing failed: " + e.getMessage()); } finally { // This block always executes System.out.println("The 'finally' block has executed — cleanup or final steps go here."); } System.out.println("Program continues..."); } }
Le bloc finally en Java est un bloc spécial qui s'exécute toujours après un bloc try, que ce soit lorsqu'une exception a été levée ou interceptée. Il est utilisé pour garantir que les actions finales importantes, telles que la fermeture de ressources ou le nettoyage, soient toujours effectuées.
Dans l'exemple ci-dessus, le programme tente d'analyser une valeur à partir d'un tableau. Même si l'analyse échoue et que le bloc catch s'exécute, le bloc finally s'exécute tout de même, garantissant que le message final est affiché et que tout nettoyage nécessaire a lieu. Cela rend le programme plus fiable et prévient les fuites de ressources.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion