Sto cercando di trovare o trovare un modo per visualizzare in una finestra di avviso tutte le eccezioni JavaScript non gestite in un'applicazione. Vorrei che tutto questo fosse fatto sul lato client, senza utilizzare alcun codice lato server. Sto usando MVC3 come ambiente.
Ho fatto ricerche negli ultimi giorni e non ho trovato esattamente quello che stavo cercando.
Ho trovato 2 modi di seguito che sembrano quasi quello che sto cercando, tranne che questi modi sono impostati in modo che devi passare un nome di funzione in un metodo personalizzato per stampare la traccia dello stack di tutte le eccezioni non gestite all'interno di quello funzione specifica. Sto cercando un modo per non dover passare manualmente un nome di funzione a un metodo personalizzato che stampa la traccia dello stack di tutte le eccezioni non gestite. Vorrei che questi metodi personalizzati "ascoltassero" solo tutte le eccezioni non gestite all'interno dell'intera applicazione.
http://eriwen.com/javascript/js-stack-trace/
Anche qualcosa di simile al collegamento precedente:
https://github.com/eriwen/javascript-stacktrace
Ecco il codice di base dal 2 ° collegamento sopra che stampa la traccia dello stack di una funzione javascript specificata:
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;
}
Quindi, per riassumere, conoscete tutti un modo per avere una sorta di "ascoltatore" per ascoltare tutte le eccezioni non gestite da javascript e poi stamparle sullo schermo in una finestra di avviso?
Grazie! Jason