错误监控

前端错误分类

  • 即时运行错误:代码错误
  • 资源加载错误:资源加载失败

错误捕获方式

  • 即时运行错误
    -- try...catch
    -- window.onerror
  • 资源加载错误
    -- object.onerror
    -- performance.getEntries() -->返回请求的时间统计信息
    -- Error事件捕获阶段获取错误
// performance.getEntries()
(function () {
    if (!window.performance && !window.performance.getEntries) {
        return false;
    }

    var result = [];
    window.performance.getEntries().forEach((perf)=>{
        result.push({
            'url': perf.name,
            'entryType': perf.entryType,
            'type': perf.initiatorType,
            'duration(ms)': perf.duration
        });
    });

    console.table(result);
})();
//Error事件捕获
window.addEventListener('error',(e)=>{console.log(e)},true);

跨域的js运行错误也可以捕获,会提示'Script error',获取不到错误的具体信息
解决方法:
1.在script标签增加crossorigin属性
2.设置js资源响应头 Access-Control-Allow-Origin:
*

上报错误的基本原理

  • 采用ajax通信的方式上报
  • 利用Image对象上报
    (new Image()).src='http://baidu.com/1.html?e=1';

fundebug

  • 推荐一个错误监控平台 fundebug,试了试觉得还不错
  • fundebug是全栈应用错误实时监控平台。当用户应用出现错误时,Fundebug会通过邮件或者第三方工具立即给开发者发送报警,这样能够帮助开发者及时发现并且解决应用错误,从而提升用户体验。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 渲染机制 DOCTYPE DOCTYPE是用来声明文档类型的,告诉浏览器使用哪一种DTD规范的文档类型。 DTD(...
    coolheadedY阅读 3,564评论 0 1
  • 一、前端错误的分类 (1) 即时运行错误:代码错误 (2) 资源加载错误,如js、css加载失败等 二、错误的捕获...
    JokerPeng阅读 5,279评论 0 4
  • 1.错误的分类2.错误的捕获方式3.上报错误的基本原理*如何保证产品质量(问的就是错误监控) 错误的分类 1.即时...
    noyanse阅读 2,405评论 0 0
  • 一、前端错误的分类 即使运行错误(代码错误) 资源加载错误 二、错误的捕获方式 即使运行错误(代码错误) try...
    猴子Hope阅读 1,430评论 0 0
  • 身为普通老百姓很难和光辉联系到一起,尤其是出生在50年代末期处于饥寒交迫边缘的人们,能吃的饱穿的暖是他们那一辈人很...
    悠漾阅读 2,669评论 0 2