返回
错误监控的核心概念
前端
2023-11-14 21:56:41
错误监控需要了解的三种核心概念
在开始之前, 先了解清楚一些概念与基础知识是很有必要的, 我们可以利用一些函数来模拟前端的错误分类.
window.alert('我是 alert');
console.error('我是 console.error');
let undeclaredVariable;
以上代码中, window.alert 为 Error 类型错误, 与其内置原型无关的错误对象, console.error 为用户自定义的错误对象, 例如 TypeError 类型的错误, 也就是与内置原型相关的错误对象, undeclaredVariable 是 ReferenceError 类型的错误, 在错误监控当中没有意义, 因为这属于语法错误, 前端代码跑起来之前就已经报错, 压根进不到错误监控中.
异常类别
主流的 JavaScript 引擎都会将其中的错误对象分成了下面三类:
- Error:
Error
类型对象 - EvalError:
EvalError
类型对象 - RangeError:
RangeError
类型对象 - ReferenceError:
ReferenceError
类型对象 - SyntaxError:
SyntaxError
类型对象 - TypeError:
TypeError
类型对象 - URIError:
URIError
类型对象
其中 EvalError
, RangeError
, ReferenceError
, SyntaxError
, TypeError
, URIError
这些类型的错误都有其内置原型, Error 对象, 虽然 Error 对象也是 Error
类型对象, 但是本身并无内置原型, 这里我们把它独立开来说明.
错误等级
监控平台一般会将错误等级划分为五个层次, 从最高到最低依次为:
- 致命错误: 导致程序无法继续执行的错误, 例如栈溢出错误, 内存泄露错误等.
- 严重错误: 导致程序无法正常运行, 但并不一定导致程序崩溃的错误, 例如逻辑错误, 参数错误等.
- 一般错误: 对程序的运行没有太大的影响, 但会降低用户体验的错误, 例如界面渲染错误, 页面加载超时等.
- 警告: 可能会导致程序出现问题, 但目前还没有发生问题的错误, 例如内存泄漏警告, 性能瓶颈警告等.
- 提示: 不一定会导致程序出现问题, 但值得关注的错误, 例如资源加载失败提示, 网络请求超时提示等.
错误来源
错误来源是指错误发生的具体位置, 可以分为以下几种:
- 脚本错误: 脚本执行过程中发生的错误, 例如语法错误, 引用错误等.
- 网络错误: 网络请求过程中发生的错误, 例如超时错误, 连接错误等.
- 资源加载错误: 资源加载过程中发生的错误, 例如资源不存在, 资源损坏等.
- 浏览器错误: 浏览器本身发生的错误, 例如内存泄漏错误, 栈溢出错误等.
- 第三方错误: 第三方库或插件发生的错误.
总结
错误监控是前端开发中必不可少的一环, 通过错误监控, 我们可以及时发现和解决问题, 保障程序的稳定运行. 以上就是错误监控的三种核心概念分类, 在实际工作中, 我们需要根据不同的业务场景, 选择合适的错误监控工具, 并对其进行合理配置, 以达到最佳的监控效果.