Fermer

janvier 25, 2023

Pourquoi et comment le bloc final{…} n’est PAS dénué de sens2 minutes de lecture


Une définition d’abord (à partir d’Internet):

try-catch-finally est utilisé pour gérer les erreurs d’exécution et les empêcher d’arrêter l’exécution d’un programme.

Le bloc finally se déclenche indépendamment de :

  1. ce qui est mis en œuvre à l’intérieur du try-catch bloc
  2. toutes les erreurs rencontrées à l’intérieur try-catch bloc
  3. quelconque return déclaration écrite à l’intérieur du try-catch bloc

Exemple 1

Considérez cet exemple où il n’y a pas d’erreur:

(()=>{
try {
console.log(`Try block triggered`)
return 
} catch (error) {
console.log(error)
}finally{
console.log('Finally triggered')
}

console.log(`Rest of the code outside try-catch`)

})()
// Output
Try block triggered
Finally triggered

Notez que le « reste du code en dehors de try-catch » n’est pas enregistré sur la console

Le bloc finally remplacera l’instruction return écrite à l’intérieur du bloc try.

(()=>{
try {

console.log(`Try block triggered`)

throw `Oops... an error occurred` 

} catch (error) {

return console.log(error)

} finally{

console.log('Finally triggered')
}

console.log(`Rest of the code outside try-catch`)
})()
//Output
Try block triggered
Oops... an error occurred
Finally triggered

Notez que le « reste du code en dehors de try-catch » n’est pas connecté à la console à cause de l’instruction de retour

À partir des deux exemples, il devient évident que finally bloc est exécuté alors que le code écrit en dehors du try-catch-finally le bloc n’est pas exécuté.

Exemple 3

Considérez cet exemple où il n’y a pas return déclaration:

(()=>{
    try {
      
      console.log(`Try block triggered`)
      
      throw `Oops... an error occurred`
    
    } catch (error) {
    
      console.log(error)
   
     }finally{
    
      console.log('Finally triggered')
   
     }
    
  console.log(`Rest of the code outside try-catch`)
})()
//Output
Try block triggered
Oops... an error occurred
Finally triggered
Rest of the code outside try-catch

Notez que cette fois, « Le reste du code en dehors de try-catch » est imprimé sur la console car il n’y a pas d’instruction de retour dans cet exemple d’implémentation

Un bon cas d’utilisation pour le bloc finally peut être de mettre des codes importants tels que le code de nettoyage, par exemple la fermeture du fichier ou la fermeture de la connexion.

Par conséquent, nous n’avons pas nécessairement besoin d’un bloc finally{…} dans notre code tout le temps, mais il peut servir un objectif important pour certains cas d’utilisation similaires.

***

Note de remerciement ❤️

Merci pour la visite. J’espère que vous trouverez cet article utile. S’il vous plaît Suivez-moi sur moyen et aidez-moi à atteindre 1 000 abonnés 🙏🏻. Cela m’encouragera vraiment à publier plus de contenu.

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link