J'essaie de trouver ou de trouver un moyen d'afficher dans une boîte d'alerte toutes les exceptions javascript non gérées dans une application. Je voudrais que tout cela soit fait du côté client, sans utiliser de code côté serveur. J'utilise MVC3 comme environnement.
Je fais des recherches depuis quelques jours et je n'ai pas trouvé exactement ce que je cherchais.
J'ai trouvé 2 façons ci-dessous qui semblent être presque ce que je recherche, sauf que ces méthodes sont configurées de sorte que vous deviez 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 dans celle-ci fonction spécifique. Je cherche 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 voudrais que cette méthode personnalisée «écoute» simplement toutes les exceptions non gérées dans l'ensemble de l'application.
http://eriwen.com/javascript/js-stack-trace/
Également quelque chose de similaire au lien précédent:
https://github.com/eriwen/javascript-stacktrace
Voici le code de base du 2ème lien ci-dessus qui imprime la trace de pile d'une fonction javascript spécifiée:
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, connaissez-vous tous un moyen d'avoir une sorte d '«auditeur» pour écouter toutes les exceptions javascript non gérées, puis les imprimer à l'écran dans une boîte d'alerte?
Merci! Jason