当前位置: 首页 > news >正文

前端JavaScript中常见的异常类型

  • ​SyntaxError(语法错误)​​
  • ​ReferenceError(引用错误)​​
  • ​TypeError(类型错误)​​
  • ​RangeError(范围错误)​​
  • ​URIError(URI错误)​​
  • ​EvalError(eval错误)​​
  • ​AggregateError(聚合错误)​​
  • ​自定义错误​

1. ​SyntaxError(语法错误)​​

  • ​原因​:代码不符合JavaScript语法规则。
  • ​常见场景​:
    • 缺少括号、引号、花括号等
    • 错误的关键字拼写
    • 使用保留字作为变量名(如 let class = …)
      ​- 示例​:
    let a = ; // SyntaxError: Unexpected token ';'
    

2. ​ReferenceError(引用错误)​​

  • 原因​:引用了一个不存在的变量或函数。
  • 常见场景​:
    • 拼写错误的变量名
    • 在变量声明前访问(非let/const的暂时性死区)
    • 访问未导入的模块成员
  • ​示例​:
    console.log(b); // ReferenceError: b is not defined
    

3. ​TypeError(类型错误)​​

  • ​原因​:操作或函数应用于不适当类型的对象。
  • ​常见场景​:
  • 调用非函数对象:let a = {}; a()
    • 访问null或undefined的属性:let b = null; b.name
    • 给不可写属性赋值(严格模式)
    • 参数类型不匹配(如Array.prototype.map未传递函数)
  • ​示例​:
    let obj = null;
    obj.property; // TypeError: Cannot read property 'property' of null
    

4. ​RangeError(范围错误)​​

  • ​原因​:数值超出有效范围。
  • ​常见场景​:
    • 数组长度为负数:new Array(-1)
    • 递归调用栈溢出(函数调用自身太多次)
    • toFixed()、toExponential()等方法的参数超出范围
  • 示例​:
    (10).toFixed(101); // RangeError: toFixed() digits argument must be between 0 and 100
    

5. ​URIError(URI错误)​​

  • ​原因​:全局URI处理函数(decodeURI, encodeURI等)使用不当。
  • ​示例​:
    decodeURI('%'); // URIError: URI malformed
    

6. ​EvalError(eval错误)​​

  • 原因​:eval()函数执行异常(现代JS中很少见,保留为兼容性)。

7. ​AggregateError(聚合错误)​​

  • ​原因​:多个错误包装在一个错误中(如Promise.any()全部失败时)。
  • ​示例​:
    Promise.any([Promise.reject(new Error('fail1')), Promise.reject(new Error('fail2'))])
    .catch(e => console.log(e)); // AggregateError: All promises were rejected
    

8. ​自定义错误​

开发者可通过 class CustomError extends Error 创建自定义错误类型。

http://www.dtcms.com/a/403160.html

相关文章:

  • 网站建设报价多少钱门店推广是什么意思
  • 同时卖出认购期权和认沽期权怎么样?
  • Java入门基础完整指南
  • 济南营销网站制作公司哪家好网站建设杭州公司
  • 实验室:将 XSS 反映到 HTML 上下文中,大多数标记和属性都被阻止
  • 上海企业网站推广南昌网站建设700起
  • 第6.3节 iOS Agent开发<二>
  • 【Trie】 UVA1401 Remember the Word
  • 深度学习学习路线图:从MNIST到MobileNetV4,从理论到实践的完整指南
  • PyTorch 数据处理工具箱:从数据加载到可视化的完整指南
  • LinuxC++项目开发日志——基于正倒排索引的boost搜索引擎(4——通过jsoncpp库建立搜索模块)
  • LVS三种模式及原理
  • 有招聘网站策划的吗济南网站开发招聘
  • 【多线程】互斥锁(Mutex)是什么?
  • 18.1 Python+AI一键生成PPT!ChatPPT核心技术深度解析
  • 影响网站权重的因素有哪些wordpress 仪表盘 渗透
  • Nginx反向代理与缓存功能-第一章
  • 精读《C++20设计模式》——创造型设计模式:构建器系列
  • SpringCloud高可用集群搭建及负载均衡配置实战
  • AI产品独立开发完全指南:技术栈选择、案例分析与商业化路径
  • Jenkins+Tomcat持续集成教程
  • 哪里有免费建设网站承德在线
  • 【金融保研复习】知识点与可能的题目
  • 基于ZYNQ的ARM+FPGA+yolo AI火灾实时监测与识别系统
  • 【Python语法基础学习笔记】常用函数
  • Uniapp运行时错误修复报告
  • PHP 8.0+ 高级特性深度探索:架构设计与性能优化
  • 网站管理建设总结大数据营销的概念
  • 顺德品牌网站建设辽宁建设工程信息网上
  • Oracle Clint11g安装