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

简介: 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错误,就需要编写规范的代码并进行严格的测试和调试。如果出现错误,就需要仔细分析错误信息并进行相应的修复。


相关文章
|
6月前
VUE.初始化项目报错缺少core-js
VUE.初始化项目报错缺少core-js
114 0
|
6月前
|
JavaScript 前端开发 大数据
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
|
6月前
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
100 0
|
1月前
|
JavaScript 前端开发 开发工具
【Azure Developer】使用JavaScript通过SDK进行monitor-query的client认证报错问题
AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Check with your subscription administrator, this may happen if there are no active subscriptions for the tenant.
|
1月前
|
JavaScript 前端开发
原生js常见报错及其处理方案
原生js常见报错及其处理方案
18 0
|
6月前
报错/ ./node_modules/axios/lib/platform/index.js Module parse failed: Unexpected token (5:2)怎么解决?
报错/ ./node_modules/axios/lib/platform/index.js Module parse failed: Unexpected token (5:2)怎么解决?
|
3月前
|
JavaScript 前端开发 C++
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
|
3月前
|
JavaScript
Vue——使用JS文件中的函数ESLint报错未定义
Vue——使用JS文件中的函数ESLint报错未定义
41 0
|
4月前
|
JavaScript
js 捕获 await 的报错
js 捕获 await 的报错
27 1
|
4月前
|
移动开发 运维 JavaScript
阿里云云效操作报错合集之遇到Node.js的内存溢出问题,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。