面试10:错误监控/产品性能体系

课程思维导图

错误监控.png

Q:前端错误分类有哪些?

  1. 即时运行错误,如代码错误
  2. 资源加载错误

Q:前端错误捕获方式分别是什么?

  1. 即时错误的捕获方式
    1. try-catch
    2. window.onerror(只能捕获即时错误)
  2. 资源加载错误的捕获方式
    1. Object.onerror
    2. performance.getEntries() 拿到所有成功加载资源的集合
    3. Error事件捕获

Q:如何使用Object.onerror捕获资源加载错误?

(注意:这种错误不会冒泡,但可以捕获

```javascript
window.addEventListener('error', function (e) {
    console.log(e)
}, true);
```

Q:跨域的JS运行错误可以捕获么?错误提示是什么,应该怎么处理?

可以捕获,提示“Script error”,具体错误信息无法获得
解决方案:

  1. 客户端:在script标签增加crossorigin属性
  2. 服务端:设置JS资源响应头Access-Control-Allow-Origin

Q:客户端上报错误的基本原理是什么?

  1. 使用Ajax通信的方式上报
  2. 利用Image对象上报:(new Image()).src = "http ://xxx/com/test";

你可能感兴趣的:(面试10:错误监控/产品性能体系)