我正在尝试在生产服务器中调试 emberjs 和 ember-data 应用程序。我在 window.onerror 上收听,所以当出现问题时,我会得到回调,我可以在其中收到错误消息、行号和文件。但是 window.onerror 行为在不同的浏览器中是不一样的。而且它不提供堆栈跟踪
所以我使用下面的函数来包装 ember 边界函数,这样我就可以获得完整的堆栈跟踪。
function tryCatchWrapper (func, name) {
// Else wrap the function and return it
function wrapped() {
try {
return func.apply(this, arguments);
} catch (e) {
// Report the errors
console.log((name ? name + ": " : "") + e.message);
// Get stacktrace
throw e;
}
}
return wrapped;
};
那么我可以使用上述函数包装哪些函数,以便在不影响任何内容的情况下获取有关应用程序中发生的所有错误的信息?
更新
已添加 JS Fiddle
最佳答案
为什么不使用 Ember.onerror事件?
CFR this answer
关于javascript - 在生产模式下获取 Ember 应用程序的堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15529753/