Définition - Que signifie Enfin Block?
Un bloc finally, dans le contexte de C #, fait référence à un bloc d'instructions qui sont toujours exécutées, quels que soient les événements inattendus ou les exceptions pouvant survenir lors de l'exécution d'une application. Il est utilisé en option avec le bloc "try / catch" et garantit l'exécution de tout code qui doit être exécuté avant de quitter le bloc "try", quel que soit le succès ou l'échec de l'exécution de l'application.
L'exécution d'un bloc finally est destinée à libérer des ressources, telles que les connexions à la base de données, qui sont généralement disponibles en quantités limitées. Grâce à ce mécanisme, l'élimination des ressources se produit avant l'opération de finalisation du garbage collector, optimisant ainsi la mémoire.
Definir Tech explique Enfin Block
Le code dans le bloc finally peut être utilisé pour gérer les exceptions dès qu'elles se produisent, nettoyer la mémoire allouée dans le bloc "try" ou éliminer les objets contenant des ressources externes (comme les descripteurs de fichiers) utilisés dans le bloc "try". Un bloc finally facilite également l'exécution de tâches de gestion interne telles que la réinitialisation d'un curseur à un état normal avant le moment d'une exception.
En général, le code d'un bloc finally est exécuté lorsque le contrôle quitte un bloc try à la suite d'une exécution normale, suite à l'exécution d'une instruction "break", "goto", "continue" ou "return" ou due à une exception de l'instruction try.
Chaque fois qu'une exception se produit dans le bloc try, le contrôle passe de la ligne qui a provoqué l'exception au bloc catch le plus proche (gestionnaire d'exceptions), puis au bloc finally. De plus, lorsqu'une exception est renvoyée dans un bloc catch, le contrôle est transféré vers le bloc finally. Ainsi, le code qui suit la ligne où l'exception s'est produite sera ignoré.
Les exceptions ne doivent pas être lancées explicitement dans un bloc finally. Si une exception se produit pendant l'exécution d'un bloc finally, tout code après le point où l'exception est levée ne s'exécutera pas et l'exception se propagera au bloc try englobant externe. Si le bloc finally gère déjà une autre exception, cela entraîne l'arrêt du traitement de l'exception en cours.
Il faut prendre soin de ne pas transférer explicitement l'exécution dans ou hors d'un bloc finally car il ne s'agit pas d'un transfert valide.
Cette définition a été écrite dans le contexte de C #