Ich versuche, eine Möglichkeit zu finden oder herauszufinden, wie alle nicht behandelten Javascript-Ausnahmen in einer Anwendung in einem Warnfeld angezeigt werden können. Ich möchte, dass dies alles auf der Clientseite erfolgt, ohne dass serverseitiger Code verwendet wird. Ich verwende MVC3 als Umgebung.
Ich habe in den letzten Tagen recherchiert und nicht genau das gefunden, wonach ich suche.
Ich habe unten zwei Möglichkeiten gefunden, die fast das sind, wonach ich suche, außer dass diese Möglichkeiten so eingerichtet sind, dass Sie einen Funktionsnamen an eine benutzerdefinierte Methode übergeben müssen, um die Stapelverfolgung aller nicht behandelten Ausnahmen innerhalb dieser zu drucken spezifische Funktion. Ich suche nach einer Möglichkeit, einen Funktionsnamen nicht manuell an eine benutzerdefinierte Methode übergeben zu müssen, die den Stack-Trace aller nicht behandelten Ausnahmen druckt. Ich möchte, dass diese benutzerdefinierte Methode nur auf alle nicht behandelten Ausnahmen in der gesamten Anwendung wartet.
http://eriwen.com/javascript/js-stack-trace/
Auch etwas ähnliches wie der vorherige Link:
https://github.com/eriwen/javascript-stacktrace
Hier ist der Basiscode aus dem zweiten Link oben, der den Stack-Trace einer angegebenen Javascript-Funktion druckt:
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;
}
Also, um das zusammenzufassen, kennen Sie alle eine Möglichkeit, eine Art "Listener" zu haben, der auf alle nicht behandelten Ausnahmen von Javascript wartet und sie dann in einem Warnfeld auf den Bildschirm druckt?
Vielen Dank! Jason