Próbuję znaleźć lub wymyślić sposób, aby wyświetlić w polu alertu wszystkie nieobsłużone wyjątki javascript w aplikacji. Chciałbym, aby wszystko to było robione po stronie klienta, bez używania kodu po stronie serwera. Używam MVC3 jako środowiska.
Szukałem przez ostatnie kilka dni i nie znalazłem dokładnie tego, czego szukam.
Znalazłem poniżej 2 sposoby, które wydają się być prawie tym, czego szukam, z wyjątkiem tych sposobów, które są skonfigurowane tak, że musisz przekazać nazwę funkcji do niestandardowej metody, aby wydrukować ślad stosu wszystkich nieobsłużonych wyjątków w tym jednym określonej funkcji. Szukam sposobu, aby nie musieć ręcznie przekazywać nazwy funkcji do metody niestandardowej, która drukuje ślad stosu wszystkich nieobsłużonych wyjątków. Chciałbym, aby ta niestandardowa metoda po prostu „nasłuchiwała” wszystkich nieobsłużonych wyjątków w całej aplikacji.
http://eriwen.com/javascript/js-stack-trace/
Również coś podobnego do poprzedniego linku:
https://github.com/eriwen/javascript-stacktrace
Oto podstawowy kod z drugiego linku powyżej, który wyświetla ślad stosu określonej funkcji javascript:
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;
}
Podsumowując, czy wszyscy znacie jakiś sposób, aby mieć jakiegoś „nasłuchującego”, który nasłuchuje wszystkich nieobsłużonych wyjątków javascript, a następnie wyświetla je na ekranie w polu ostrzegawczym?
Dzięki! Jason