JS错误类型

错误类型

EvalError

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

RangeError

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

试图将一个值作为参数传递给一个允许的范围不包含该值的函数会引发 RangeError。

在以下的情况中,可能会遇到这个问题:

  • 将不允许的字符串值传递给String.prototype.normalize()
  • 尝试使用 Array 构造函数创建一个具有不合法的长度的字符串
  • 传递错误值到数值计算方法(Number.toExponential()Number.toFixed() Number.toPrecision())。

ReferenceError

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

当一个不存在(或尚未初始化)的变量被引用时发生的错误

var hello = world
// world in not defined

SyntaxError

创建一个 error 实例,表示错误的原因:语法错误。

对象代表尝试**解析不符合语法的代码的错误。**当 Javascript 引擎解析代码时,遇到了不符合语法规范的标记(token)或标记顺序,则会抛出 SyntaxError。

    try {
      eval("hoo bar");
    } catch (e) {
      console.error(e instanceof SyntaxError);
    }

TypeError

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

对象通常(但并不只是)用来表示值的类型非预期类型时发生的错误。

以下情况会抛出 TypeError:

  • 传递给运算符的操作数或传递给函数的参数与预期的类型不兼容;
  • 尝试修改无法更改的值;
  • 尝试以不适当的方法使用一个值。

URIError

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

AggregateError

创建一个 error 实例,其中包裹了由一个操作产生且需要报告的多个错误。如:Promise.any() 产生的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

白帆白女士

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

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

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

打赏作者

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

抵扣说明:

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

余额充值