javascript错误类型

  目录

javascript错误类型

ECMA-262规范定义的七种错误类型:

  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

Error

Error是所有错误的基类,其他错误都继承自该类型

EvalError

EvalError对象表示全局函数eval()中发生的错误。如果eval()中没有错误,则不会抛出该错误。可以通过构造函数创建这个对象的实例

1
2
3
4
5
6
7
8
try {
throw new EvalError('make EvalError');
}catch(err) {
console.log(err instanceof EvalError);
console.log(err.message);
console.log(err.name);
console.log(err.stack);
}

RangeError

RangeError对象表示当一个值不在允许值的集合或范围内时出现错误。

1
2
var arr = [];
arr.length = -1;

ReferenceError

当引用不存在的变量时,该对象表示错误

1
var str = abc;

SyntaxError

当JavaScript引擎在解析代码时遇到不符合该语言语法的标记或标记顺序时,将引发该异常

1
var str = 'abc'; // 这里的分号是中文分号

TypeError

传递给函数的操作数或实参与该操作符或函数期望的类型不兼容

1
2
3
4
function fn(arr) {
arr.map(item=> item);
}
fn(123);

URIError

当全局URI处理函数以错误的方式使用时

1
window.decodeURIComponent('%');

总结

以上只是简单的介绍了js中的7种错误类型,还有更详细的错误处理请看前端异常处理