错误类型
1 SyntaxError
SyntaxError是构建阶段错误,非运行阶段。解析时候发生语法错误无法捕获
2 TypeError
TypeError
指的是:值不是所期待的类型
3 ReferenceError
ReferenceError
指的是:引用未声明的变量
4 RangeError
RangeError
指的是:当一个值不在其所允许的范围或者集合中,通常会在无限递归时报错
错误监听
1.try...catch...
try...catch
是捕获错误的重要方式,但是它只能捕获运行报错、同步报错
,捕获不了 编译报错、异步报错
补充
try...catch
虽然捕获不了异步错误,但是 async/await
是用同步的方式去执行异步
2.window.onerror
3.window.addEventListener('error')
4.window.addEventListener('unhandledrejection')
无论是 Promise、async/await
归根结底都是 Promise异步报错
,都可以使用 window.addEventListener('unhandledrejection')
来捕获错误
参考网址:不知道前端代码哪里报错了?我有七种方式去监控它!