我正在实现一个全局异常处理程序,它应该记录异常并将信息发送到服务器。现在我的代码看起来像
window.addEventListener('error', function (errorEvent) {
var errorLine = '';
if (errorEvent.filename) {
var lastSlashIndex = errorEvent.filename.lastIndexOf('/');
errorLine += errorEvent.filename.substr(lastSlashIndex + 1);
}
if (errorEvent.lineno) errorLine += ':' + errorEvent.lineno;
if (errorEvent.message) errorLine += ' ' + errorEvent.message;
因此,我可以提取抛出异常的位置,但不能提取完整的堆栈跟踪。我调查了传递给事件监听器回调的错误事件,但是我没有找到任何有关堆栈跟踪的信息。是否可以从事件监听器回调中获取此信息?
我对Safari移动版和Chrome移动版的解决方案很感兴趣,但当然欢迎任何其他信息。
答案 0 :(得分:2)
您可以做的最好的事情是使用库stacktrace.js,但如果您想自己做,请查看this link和this link for V8。棘手的部分是,您将为不同的浏览器获得不同的格式,因此最好使用该库或探索它的代码。