[Mise à jour. Je dois être plus précis, je vois ...] Voir l'exemple suivant en javascript:L'erreur n'est pas détectée par la fonction jquery start()
<html>
<head>
<script>
window.onerror = function() {
alert('error'); // this one works
try {i.dont.exist += 0;}
catch(e) {
// do some stacktrace stuff, this does not trigger
alert(e.stack);
}
};
</script>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js' type='text/javascript'></script>
<script>
$(document).ready(function() {
foo[1]++;
});
</script>
</head>
<body>
<p>Hello world.</p>
</body>
</html>
Le 2. alerte ne se déclenche pas. Pourquoi? Si je remplace "foo [1] ++" par "ceci est une ligne bidon" tout fonctionne et les deux alertes sont déclenchées. Y a-t-il un problème d'erreur d'exécution?
ok, je me suis déplacé le gestionnaire onerror à sa propre balise de script. Il ne change pas le comportement, qu'une erreur à l'intérieur de la fonction prête ne déclenche pas la "pile" ... – 2ni
vérifier ma mise à jour à la réponse – Pointy
thx pour votre exemple complet. Cela fonctionne pour moi aussi, mais ce n'est pas le but. J'ai mis à jour mon exemple ne fonctionnant pas ci-dessus. – 2ni