如何在服务器上记录js错误

时间:2013-12-18 15:34:26

标签: yui yui3

我想知道YUI3是否提供了尝试捕获错误功能的任何方法,在捕获错误之后,我们可以显示一些自定义错误警报,同时在服务器端记录错误,并显示错误异常和其他详细信息。 / p>

此外,如果yui3中没有此功能,那么所有框架都需要使用它来执行此操作,并且所有框架都与YUI兼容。

1 个答案:

答案 0 :(得分:0)

我不知道YUI3提供了开箱即用的内容。

您可以将问题分成两部分:

捕获错误

您可以使用try / catch块包装代码,也可以使用全局错误处理程序。看起来YUI3还没有直接处理这个问题(http://yuilibrary.com/projects/yui3/ticket/2528067),但处理它不应该太难,你只需要测试浏览器差异。

向服务器发送错误数据

您应该能够使用Y.IO将错误数据发送回服务器。看起来你得到了errorMsg,url,lineNumber,所以你可以把它们发送回服务器:

YUI().use("io-base",function(Y){

window.onerror = function(errorMsg, url, lineNumber){
  Y.io("/errorHandler.php", {
    data: {
        errorMsg: errorMsg,
        url: url,
        lineNumber: lineNumber
    }
});
alert("Sorry, something bad happened");
};
console.log("handler registered");

    //now trigger an error
    a.b.c="banana";

});

这似乎适用于此:http://jsfiddle.net/J83LW/

我会给您留下自定义提醒,我在这里留下了一个提醒,作为处理此事件的基本示例