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

时间:2022-07-04 01:09:46

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

语法错误(SyntaxError)

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

示例:

// 括号不匹配
if (a === b {
  console.log('a等于b');
}

// 变量未声明
console.log(c);

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

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


类型错误(TypeError)

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

示例:

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

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

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


引用错误(ReferenceError)

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

示例:

// 引用错误示例
console.log(a);

function add(a, b) {
  return c;
}

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

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


范围错误(RangeError)

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

示例:

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

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

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


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