前端错误集合

admin2天前it知识25

⚠️ ‌一、核心运行时错误类型‌

‌SyntaxError(语法错误)‌

‌原因‌:代码不符合 JavaScript 语法规则(如变量命名不合规、括号缺失等)

‌案例‌:var1a = 10;(数字开头的变量名)或 console.log("abc")=1; 

‌ReferenceError(引用错误)‌

‌原因‌:引用未定义的变量或对象属性 

‌案例‌:console.log(undeclaredVar); 或对函数运行结果赋值 fn() = 1; 

‌TypeError(类型错误)‌

‌原因‌:操作类型不匹配(如调用非函数、读取 null/undefined 属性)

‌经典场景‌:

null.find(...)(后端返回 null 但前端未校验)

Cannot destructure property 'name' of 'undefined'(解构未定义对象)

‌RangeError(范围错误)‌

‌原因‌:数值超出有效范围(如递归栈溢出)

‌URIError & EvalError‌

‌较少见‌:URL 解析异常或 eval() 使用不当触发

🌐 ‌二、异步与资源加载错误‌

‌异步函数错误‌

setTimeout/Promise 内错误需通过以下方式捕获:

// Promise 未捕获异常
window.addEventListener('unhandledrejection', e => {
  console.error('Unhandled Rejection:', e.reason);
});

静态资源加载失败(图片、脚本等)

  • 捕获方法‌:全局监听 error 事件并过滤资源类型:

window.addEventListener('error', e => {
  if (e.target.tagName === 'IMG' || e.target.tagName === 'SCRIPT') {
    reportError({ type: 'resource', url: e.target.src });
  }
}, true); // 注意使用捕获阶段
  1. 跨域脚本错误(Script error)

    • 解决‌:为 <script> 添加 crossorigin 属性,服务端设置 Access-Control-Allow-Origin

⚙️ ‌三、框架级错误处理

框架捕获方案适用场景
ReactErrorBoundary 组件组件渲染异常 
Vueapp.config.errorHandler全局 Vue 错误 
AngularErrorHandler 服务应用级异常 

🔍 ‌四、调试与排查技巧

  1. 幽灵 Bug 定位

    • 通过路由路径、CSS 样式或全局关键字搜索代码位置,结合控制台报错文件定位 

  2. 控制台分析步骤‌:

    • 检查 Console 报错 → 查看 Network 请求状态 → 验证数据逻辑(非空判断)→ 分段注释代码调试 

  3. SourceMap 映射‌:

    • 生产环境通过 SourceMap 将压缩代码映射回源码,精确追踪错误位置 

📊 ‌五、错误监控方案(2025 年推荐)

  1. 性能 + 错误一体化监控

    • 采集指标:页面加载时间、JS 错误率、资源失败率、API 错误率 

  2. 上报工具‌:

    • 开源方案‌:Sentry(支持 SourceMap 解析、错误聚合)

    • 自建方案‌:navigator.sendBeacon() 或 new Image().src 上报(兼容性好)

  3. 业务级监控‌:

    • 关键流程转化率、白屏率、用户行为轨迹分析 

附:常见陷阱案例

  • Cannot read properties of null (reading 'find')‌:后端返回 null 未处理,需前置校验 Array.isArray()

  • Uncaught TypeError: Cannot assign to read only property 'exports'‌:CommonJS 与 ESM 混用,改用 import 或调整 Webpack 配置 

此集合覆盖了从基础语法到微前端架构的调试需求,结合自动化监控可显著提升线上问题响应速度 

标签: 分享IT知识
返回列表

上一篇:前端性能

下一篇:前端错误2

相关文章

关于夏天

在一个炎热的午后,阳光穿过树叶的缝隙,洒在公园的草地上。空气中弥漫着夏日的气息,那是炎热中夹杂着淡淡的花香,还有草地的清新味道。在这个充满活力的季节,夏天以其独特的方式展示着它的魅力。夏天是一个充满色...

湖边

湖边,一片静谧的美好。清晨的阳光洒在湖面上,波光粼粼,让人心旷神怡。湖上的荷叶轻轻摇曳,荷花争奇斗艳,仿佛在向人们展示着它们的美丽。湖边的柳树依依,芦苇丛生,形成了一道道天然的屏障,让人感到一种隐秘的...

夏天的台风

夏天,是一个充满活力和生命力的季节,但同时也伴随着台风的出现。每年的这个时期,台风如同一股强大的自然力量,给人们的生命和财产带来了一定的威胁。在台风的肆虐中,可以看到大自然的威力与无情。台风带来的强风...

炎热的夏天

夏天是一个充满活力和热情的季节,炎热的的气息让人感到无力和疲惫。但是,这个季节也有着许多美好的回忆和乐趣,让我们一起来看看夏天的美好与炎热吧。首先,夏天的天气非常炎热,太阳高照,蓝天白云,气温高达30...

如何高效学习

努力和技巧的能力。以下是一些可以帮助你高效学习的方法:制定学习计划:制定一个清晰的学习计划,包括学习内容和时间表,有助于你更好地组织自己的学习并提高学习效率。创造良好的学习环境:在学习时,尽可能避免干...

马斯洛理论

生理需求是最低层次的需求,包括人类维持自身生存的最基本要求,包括饥、渴、衣、住、性、健康方面的需求。安全需求包括两个层次,一是归属的需要,即人都有一种归属于一个群体的感情,希望成为群体中的一员,并相互...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。