理解JS中的错误(Error)

错误的类型

Error 类型

除了通用的Error构造函数外,JavaScript还有6个其他类型的错误构造函数。

EvalError

创建一个error实例,表示错误的原因:与 eval() 有关。

InternalError

创建一个代表Javascript引擎内部错误的异常抛出的实例。 如: “递归太多”.

RangeError

创建一个error实例,表示错误的原因:数值变量或参数超出其有效范围。

无限调用,超出最大次数报错。

  function fn() {
    fn()
  }
  fn() // RangeError: Maximum call stack size exceeded

在这里插入图片描述

ReferenceError

创建一个error实例,表示错误的原因:无效引用。

//a 未定义
console.log(a) // ReferenceError: a is not defined

在这里插入图片描述

SyntaxError

创建一个error实例,表示错误的原因:eval()在解析代码的过程中发生的语法错误。

SyntaxError: 语法错误

   const c = ''1'' // SyntaxError: Unexpected string

在这里插入图片描述

TypeError

创建一个error实例,表示错误的原因:变量或参数不属于有效类型。

let b
console.log(b.xxx) // TypeError: Cannot read property 'xxx' of undefined

在这里插入图片描述
b不是函数对象所以报错说b不是一个函数不能这样调用。

  b = {}
  b.xxx() // TypeError: b.xxx is not a function

在这里插入图片描述

URIError

创建一个error实例,表示错误的原因:给 encodeURI()或 decodeURl()传递的参数无效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gxhlh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值