La capture de tous les javascript exceptions non gérées
J'essaie de trouver ou de trouver un moyen d'afficher dans une boîte d'alerte de tous les non gérée exceptions javascript dans une application. Je voudrais que tout cela soit fait sur le côté client, sans utiliser de code côté serveur. Je suis l'aide de MVC3 comme un environnement.
J'ai fait des recherches depuis quelques jours et n'ai pas trouvé exactement ce que je cherche.
J'ai trouvé 2 méthodes ci-dessous qui semblent comme ils sont presque ce que je suis à la recherche, à l'exception de ces moyens sont mis en place de sorte que vous avez à passer un nom de fonction dans une méthode personnalisée pour imprimer la trace de la pile de toutes les exceptions non gérées au sein de ce une fonction spécifique. Je suis à la recherche d'un moyen de ne pas avoir passer manuellement un nom de fonction à une méthode personnalisée qui imprime la trace de la pile de toutes les exceptions non gérées. Je veux ces méthode personnalisée juste "écouter" pour toutes les exceptions non gérées au sein de l'ensemble de l'application.
http://eriwen.com/javascript/js-stack-trace/
Aussi quelque chose de similaire à la précédente lien:
https://github.com/eriwen/javascript-stacktrace
Voici le code de base à partir de la 2e lien ci-dessus qui imprime la trace de la pile d'une fonction javascript:
instrumentFunction: function (context, functionName, callback) {
context = context || window;
var original = context[functionName];
context[functionName] = function instrumented() {
callback.call(this, printStackTrace().slice(4));
return context[functionName]._instrumented.apply(this, arguments);
};
context[functionName]._instrumented = original;
}
function printStackTrace(options) {
options = options || {
guess: true
};
var ex = options.e || null,
guess = !! options.guess;
var p = new printStackTrace.implementation(),
result = p.run(ex);
return (guess) ? p.guessAnonymousFunctions(result) : result;
}
Donc, pour résumer cela, ne vous le savez de toute façon d'avoir une sorte "d'auditeur" à l'écoute du javascript exceptions non gérées et ensuite de les imprimer à l'écran dans une boîte d'alerte?
Merci!
Jason
- une seule chose... wy utiliser une boîte d'alerte?!? vous pouvez utiliser la console.log(error_message) en......
- Je pense que cette question Rattraper toutes les erreurs JS vous aider à sortir
- Vous devez probablement avoir un oeil à cette question: stackoverflow.com/questions/205688/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire en utilisant la fenêtre.onerror méthode.
Vous pouvez soit utiliser
window.onerror
, ou (étonnamment!) lier à la "erreur" événement correctement:Si vous souhaitez suivre des erreurs de JavaScript, vous pouvez essayer de Atatus. Je travaille à Atatus.
En plus de
Vous pouvez également prendre toutes les erreurs tirés à l'intérieur d'une promesse de rappel (
.then()
) à l'écouteunhandledrejection
événementwindow.onerror
etwindow.addEventListener("error"
, ou est l'aide de l'un d'entre eux est-elle suffisante?window.addEventListener("error"
, envoyeruseCapture
ensemble detrue
afin de toucher également les éléments des erreurs qui n'ont pas de bulle jusqu'. developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/...Découvrez http://log4javascript.org il est basé sur Log4J. Si la plupart de vos code est enveloppé dans les instructions try/catch pour gérer les exceptions, vous pouvez faire usage de cette bibliothèque qu'une interface commune pour l'envoi de la sortie d'un toujours disponible "boîte de dialogue" ou de la fenêtre de connexion que votre utilisateur final pourrait voir. Vous pourriez même avoir un bouton qui effectue une fenêtre.print() pour imprimer le contenu de la boîte de dialogue de l'imprimante ou PDF. Bonne chance.