Estou tentando encontrar ou descobrir uma maneira de exibir em uma caixa de alerta todas as exceções de javascript não tratadas em um aplicativo. Eu gostaria que tudo isso fosse feito no lado do cliente, sem usar nenhum código do lado do servidor. Estou usando MVC3 como ambiente.
Tenho pesquisado nos últimos dias e não encontrei exatamente o que procuro.
Encontrei 2 maneiras abaixo que parecem ser quase o que estou procurando, exceto que essas maneiras são configuradas para que você tenha que passar um nome de função em um método personalizado para imprimir o rastreamento de pilha de todas as exceções não tratadas dentro daquele função específica. Estou procurando uma maneira de não ter que passar manualmente um nome de função para um método personalizado que imprime o rastreamento de pilha de todas as exceções não tratadas. Eu gostaria que esse método personalizado apenas 'escutasse' todas as exceções não tratadas em todo o aplicativo.
http://eriwen.com/javascript/js-stack-trace/
Também algo semelhante ao link anterior:
https://github.com/eriwen/javascript-stacktrace
Este é o código básico do segundo link acima que imprime o rastreamento de pilha de uma função 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;
}
Então, para resumir, todos vocês sabem de alguma maneira de ter algum tipo de 'ouvinte' para ouvir todas as exceções não tratadas de javascript e depois imprimi-las na tela em uma caixa de alerta?
Obrigado! Jason