Estoy tratando de encontrar o descubrir una manera de mostrar en un cuadro de alerta todas las excepciones de JavaScript no controladas en una aplicación. Me gustaría que todo esto se hiciera en el lado del cliente, sin usar ningún código del lado del servidor. Estoy usando MVC3 como entorno.
He estado investigando durante los últimos días y no he encontrado exactamente lo que estoy buscando.
Encontré 2 formas a continuación que parecen ser casi lo que estoy buscando, excepto que estas formas están configuradas para que tenga que pasar un nombre de función a un método personalizado para imprimir el seguimiento de la pila de todas las excepciones no controladas dentro de ese función específica. Estoy buscando una forma de no tener que pasar manualmente un nombre de función a un método personalizado que imprime el seguimiento de la pila de todas las excepciones no controladas. Me gustaría que este método personalizado simplemente 'escuche' todas las excepciones no controladas dentro de toda la aplicación.
http://eriwen.com/javascript/js-stack-trace/
También algo similar al enlace anterior:
https://github.com/eriwen/javascript-stacktrace
Aquí está el código básico del segundo enlace anterior que imprime el seguimiento de la pila de una función javascript especificada:
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;
}
Entonces, para resumir esto, ¿todos conocen alguna forma de tener algún tipo de 'oyente' para escuchar todas las excepciones no controladas de JavaScript y luego imprimirlas en la pantalla en un cuadro de alerta?
¡Gracias! Jason