我正在尝试寻找或找出一种在警报框中显示应用程序中所有未处理的javascript异常的方法。我希望所有这些都在客户端完成,而不使用任何服务器端代码。我正在使用MVC3作为环境。
最近几天我一直在研究,没有完全找到我想要的东西。
我发现以下两种方法似乎几乎是我要寻找的方法,除了设置了这些方法之外,您必须将函数名传递到自定义方法中,以打印该方法中所有未处理的异常的堆栈跟踪具体功能。我正在寻找一种不必手动将函数名称传递给自定义方法的方法,该方法将打印所有未处理的异常的堆栈跟踪。我希望这些自定义方法只是“侦听”整个应用程序中所有未处理的异常。
http://eriwen.com/javascript/js-stack-trace/
同样类似于上一个链接:
https://github.com/eriwen/javascript-stacktrace
这是上面第二个链接中的基本代码,该代码显示指定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;
}
因此,总而言之,你们是否都知道有某种方式可以让某种“侦听器”侦听所有未处理的javascript异常,然后在警报框中将其打印到屏幕上?
谢谢!杰森