12
votes

Global JavaScript Manipulateur d'exception (Chrome)

Comment écrasez-vous le gestionnaire d'exception global à JavaScript afin qu'il devienne le gestionnaire de haut niveau pour toutes les exceptions non capturées?

EDIT: window.onerror n'a pas fonctionné, code est: xxx

Je teste sur chrome, en passant. Console de développeur enregistre l'exception non capturée, mais l'alerte () dans Window.onError n'apparaît pas.


0 commentaires

4 Réponses :


3
votes
window.onerror = function(errorMsg, url, lineNumber) {
    // code to run when error has occured on page
}

0 commentaires

0
votes

Peut-être que vous recherchez window.onerror Je ne sais pas si cela est disponible sur tous les navigateurs.


1 commentaires

Les dernières versions de Safari (et Chrome) le soutiennent. Pour référence, j'ai confirmé sur Safari 5.1 et Chrome 14, à la fois dans Mac OS X. Pas sûr quand ils ont finalement été ajoutés à ces navigateurs, mais il est maintenant disponible sur tous les grands navigateurs.



15
votes

à partir de 2013 Chrome prend en charge la fenêtre .onError . (J'ai la version 25 commentaires impliquent également des versions antérieures)

Ce que j'ai fait était d'envelopper JQuery en utilisant Currying pour créer un proxy qui fait toujours un essayer ... Catch dans les fonctions de jQuery.

Je l'utilise dans www.js-analytics.com , mais la solution ne contient que pour JQuery scripts.

avant 2013 Google Chrome n'a pas pris en charge window.onerror , apparemment, il n'a pas été mis en œuvre dans WebKit.


3 commentaires

C'est exact. Et Webkit a récemment fait une avance sur la réparation de ce bogue. Ce n'est pas encore réparé, mais ici, vous avez le lien pour les mises à jour: Bugs.WebKit.org/ show_bug.cgi? id = 8519


Selon groups.google.com/group/ JS-Test-pilote / browse_thread / thread / ... Il devrait être corrigé en chrome 10


J'utilise Chrome 14 (la dernière version) et Window.onError fonctionne!



1
votes

La compatibilité de Chrome window.onerror


0 commentaires