Adloun

JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 11 · Application directe du cours

Le bloc finally a le dernier mot

Erreurs, stockage et qualité du code · niveau 2

Énoncé

Qu'affiche ce programme ? Expliquer chaque ligne.


function f() {
  try {
    return "try";
  } finally {
    console.log("finally");
  }
}

function g() {
  try {
    throw new Error("panne");
  } finally {
    return "finally";
  }
}

function h() {
  let n = 1;
  try {
    return n;
  } finally {
    n = 2;
  }
}

console.log(f());
console.log(g());
console.log(h());

Corrigé


finally
try
finally
1

f : le return "try" est évalué, puis le finally s'exécute (il affiche « finally ») avant que la fonction rende la valeur. g : le return du finally remplace l'exception, qui disparaît sans laisser de trace ; c'est pourquoi ESLint interdit cette forme (règle no-unsafe-finally). h : la valeur renvoyée (1) est fixée au moment du return ; modifier n ensuite n'y change rien.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →