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

js常见的9种报错记录一下

js常见报错

  • 语法错误(SyntaxError)
  • 类型错误(TypeError)
  • 引用错误(ReferenceError)
  • 范围错误(RangeError)
  • 运行时错误(RuntimeError)
  • 网络错误(NetworkError)
  • 内部错误(InternalError)
  • URI错误(URIError)
  • eval错误(EvalError)

在JavaScript语言中,常常会出现各种类型的错误,包括语法错误、运行时错误、逻辑错误等。Error实例对象是最一般的错误类型,在它的基础上,JavaScript 还定义了其他6种错误对象。以下是常见的报错:

语法错误(SyntaxError)

语法错误通常是由于代码中存在语法错误导致的,例如括号不匹配、缺少分号等。

示例:

// 括号不匹配
if (a === b {console.log('a等于b');
}// 变量未声明
console.log(c);

在这里插入图片描述

解决办法:
检查代码中是否有括号不匹配、缺少分号等语法错误。


类型错误(TypeError)

类型错误通常是由于代码中使用了不正确的数据类型或方法导致的,例如将一个数字当作函数使用、一个数组访问不存在的元素等。

示例:

// 类型错误示例
let a = 10;
a();

在这里插入图片描述

解决办法:
检查代码中使用的数据类型和方法是否正确。


引用错误(ReferenceError)

引用错误通常是由于使用了未定义的变量或方法导致的,例如访问一个未定义的变量、调用一个未定义的函数等。

示例:

// 引用错误示例
console.log(a);function add(a, b) {return c;
}

在这里插入图片描述

解决办法:
检查代码中是否存在未定义的变量或方法。


范围错误(RangeError)

范围错误通常是由于使用了超出范围的值导致的,例如使用一个超出数组长度的索引、使用一个超出数字范围的值等。

示例:

// 数组长度不得为负数
// new Array(-1)

在这里插入图片描述

解决办法:
检查代码中使用的值是否超出了范围。


运行时错误(RuntimeError)

运行时错误通常是由于代码中存在逻辑错误导致的,例如除以0、无限递归等。

示例:

// 运行时错误示例
let a = 10 / 0;
console.log(a);   //无穷   Infinity//无限递归
function foo() {foo();
}
foo();

解决办法:
检查代码中的逻辑是否正确,并进行修改。


网络错误(NetworkError)

网络错误通常是由于网络连接失败导致的,比如请求一个不存在的URL或者网络连接不稳定。

解决方法:
检查网络连接是否正常,修正错误。


内部错误(InternalError)

InternalError 对象表示出现在 JavaScript 引擎内部的错误。通常描述某种数量过多的情况,例如:

“too many switch cases”(过多 case 子句);
“too many parentheses in regular expression”(正则表达式中括号过多);
“array initializer too large”(数组初始化器过大);
“too much recursion”(递归过深)。

解决方法:
检查代码中的逻辑是否正确,修正错误。


URI错误(URIError)

当代码中使用了不合法的URI时,会抛出URIError错误。


eval错误(EvalError)

当代码中使用了eval函数时发生错误时,会抛出EvalError错误。


总之,要避免JavaScript错误,就需要编写规范的代码并进行严格的测试和调试。如果出现错误,就需要仔细分析错误信息并进行相应的修复。

http://www.lryc.cn/news/43530.html

相关文章:

  • ORACLE not available报错处理办法
  • 【Pandas】Python中None、null和NaN
  • 线性表的学习
  • 51单片机学习笔记_13 ADC
  • 类和对象的基本认识之内部类
  • 【操作系统】进程和线程是什么之间是如何通信的
  • setup、ref、reactive、computed
  • 【Gem5】有关gem5模拟器的资料导航
  • 【CSS】清除浮动 ① ( 清除浮动简介 | 清除浮动语法 | 清除浮动 - 额外标签法 )
  • Shell test 命令
  • pytorch项目实战之实时人脸属性检测系统
  • JS和Jquery
  • Linux设置固定IP
  • 面试准备啊
  • 机器人工程专业师生的第二张名片
  • 【云原生之企业级容器技术 Docker实战一】Docker 介绍
  • 【Microsoft】与 Bing AI 进行 ⌈狂飙⌋
  • PyDolphinScheduler发布4.0.2版本,修复无法提交工作流到DolphinScheduler 3.1.4的问题
  • go-cqhttp安装使用
  • 论文阅读和分析:Hybrid Mathematical Symbol Recognition using Support Vector Machines
  • 05期:面向业务的消息服务落地实践
  • 代码随想录|day26|回溯算法part03● 39. 组合总和● 40.组合总和II● 131.分割回文串
  • linux-文件切割-splitcsplit
  • USB键盘实现——设备限定描述符(五)
  • 【C++】map和set(一文拿捏,包教包会)
  • 爬虫Day2 正则表达式
  • LeetCode-0324~28
  • Vue2自己封装的基础组件库或基于Element-ui再次封装的基础组件库,如何发布到npm并使用(支持全局或按需引入使用),超详细
  • 【开发】中间件——MongoDB
  • C++进阶 — 【C++11】