J'essaie de trouver ou de comprendre 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.
J'ai fait des recherches ces derniers jours et je n'ai pas trouvé exactement ce que je cherchais.
J'ai trouvé deux méthodes ci-dessous qui semblent correspondre à ce que je recherche, sauf que ces méthodes sont configurées de telle sorte que vous devez 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 cette fonction spécifique. Je cherche un moyen de ne pas avoir à transmettre 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 se contente d'écouter toutes les exceptions non gérées dans l'ensemble de l'application.
http://eriwen.com/javascript/js-stack-trace/
Egalement 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 la 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, connaissez-vous tous un moyen d'avoir une sorte d'"écouteur" pour écouter toutes les exceptions non gérées en javascript et les imprimer à l'écran dans une boîte d'alerte ?
Merci. Jason