Je voudrais savoir pourquoi l'erreur n'est pas soulevée dans le bloc catch lorsque j'utilise la méthode Object.defineProperty()
avec get()
et set()
?JavaScript essayer ... catch pour defineProperty ne fonctionne pas
try {
var f;
Object.defineProperty(window, 'a', {
get: function() {
return fxxxxx; // here: undef var but no error catched
},
set: function(v) {
f = v;
}
});
} catch (e) {
console.log('try...catch OK: ', e);
}
a = function() {
return true;
}
window.a();
// Expected output: "try...catch OK: ReferenceError: fxxxxx is not defined"
// Console output: "ReferenceError: fxxxxx is not defined"
Merci, Crowder. Et très bonne réponse. – poro6
A l'avenir, il vaut mieux utiliser Stack Snippets (le bouton de barre d'outils '<>') pour créer des démos exécutables sur site plutôt que jsFiddle, qui est hors site. (Ma réponse a un extrait pour que vous puissiez voir à quoi ils ressemblent.) –
Je le ferai la prochaine fois. Merci. – poro6