返回

错误监控的核心概念

前端

错误监控需要了解的三种核心概念

在开始之前, 先了解清楚一些概念与基础知识是很有必要的, 我们可以利用一些函数来模拟前端的错误分类.

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 类型对象, 但是本身并无内置原型, 这里我们把它独立开来说明.

错误等级

监控平台一般会将错误等级划分为五个层次, 从最高到最低依次为:

  • 致命错误: 导致程序无法继续执行的错误, 例如栈溢出错误, 内存泄露错误等.
  • 严重错误: 导致程序无法正常运行, 但并不一定导致程序崩溃的错误, 例如逻辑错误, 参数错误等.
  • 一般错误: 对程序的运行没有太大的影响, 但会降低用户体验的错误, 例如界面渲染错误, 页面加载超时等.
  • 警告: 可能会导致程序出现问题, 但目前还没有发生问题的错误, 例如内存泄漏警告, 性能瓶颈警告等.
  • 提示: 不一定会导致程序出现问题, 但值得关注的错误, 例如资源加载失败提示, 网络请求超时提示等.

错误来源

错误来源是指错误发生的具体位置, 可以分为以下几种:

  • 脚本错误: 脚本执行过程中发生的错误, 例如语法错误, 引用错误等.
  • 网络错误: 网络请求过程中发生的错误, 例如超时错误, 连接错误等.
  • 资源加载错误: 资源加载过程中发生的错误, 例如资源不存在, 资源损坏等.
  • 浏览器错误: 浏览器本身发生的错误, 例如内存泄漏错误, 栈溢出错误等.
  • 第三方错误: 第三方库或插件发生的错误.

总结

错误监控是前端开发中必不可少的一环, 通过错误监控, 我们可以及时发现和解决问题, 保障程序的稳定运行. 以上就是错误监控的三种核心概念分类, 在实际工作中, 我们需要根据不同的业务场景, 选择合适的错误监控工具, 并对其进行合理配置, 以达到最佳的监控效果.