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
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.