美文网首页
javascript中的内置对象Error类型对象

javascript中的内置对象Error类型对象

作者: baixin | 来源:发表于2021-05-09 10:45 被阅读0次

Error

  • 通过Error的构造器可以创建一个错误对象。当运行时错误产生时,Error的实例对象会被抛出。Error对象也可用于用户自定义的异常的基础对象
  • 当代码运行时的发生错误,会创建新的Error 对象,并将其抛出|全局Error对象自身不包含任何方法,但从原型链中继承了一些方法
  • Error

ReferenceError

  • ReferenceError(引用错误) 对象代表当一个不存在的变量被引用时发生的错误
  • 当你尝试引用一个未被定义的变量时,将会抛出一个 ReferenceError
  • 全局的 ReferenceError 本身并不包含有方法,但是他可以从原型链上继承一些方法
  • ReferenceError
fun();  // Uncaught ReferenceError: fun is not defined

TypeError

  • TypeError(类型错误) 对象用来表示值的类型非预期类型时发生的错误|当传入函数的操作数或参数的类型并非操作符或函数所预期的类型时,将抛出一个 TypeError 类型错误
  • 全局 TypeError 不包含任何方法,不过,它将从原型链中继承一些方法。
  • TypeError
var num = 0;
num(); // Uncaught TypeError: num is not a function

10n  + 9 // Uncaught TypeError: can't convert BigInt to number

SyntaxError

  • SyntaxError 对象代表尝试解析语法上不合法的代码的错误
  • 当Javascript语言解析代码时,Javascript引擎发现了不符合语法规范的tokens或token顺序时抛出SyntaxError.
  • 全局 SyntaxError 自身不包含任何方法, 但从原型链中继承了一些方法.
  • SyntaxError
class = 1; // Uncaught SyntaxError: class statement requires a name debugger eval code:1:6

RangeError

  • RangeError对象标明一个错误,当一个值不在其所允许的范围或者集合中
  • 试图传递一个number参数给一个范围内不包含该number的函数时则会引发RangeError。当传递一个不合法的length值作为Array 构造器的参数创建数组,或者传递错误值到数值计算方法(Number.toExponential()Number.toFixed()Number.toPrecision()),会出现RangeError
  • RangeError全局对象没有自带方法,但它通过可以原型链继承一些方法。
  • RangeError
var obj = {};
[].length = obj; // Uncaught RangeError: invalid array length

EvalError

  • 本对象代表了一个关于 eval 函数的错误.此异常不再会被JavaScript抛出,但是EvalError对象仍然保持兼容性
  • 全局的EvalError对象本身不包含任何方法, 然而它通过原型链继承了一些方法
  • EvalError

URIError

  • URIError 对象用来表示以一种错误的方式使用全局URI处理函数而产生的错误|当向全局 URI 处理函数传递一个不合法的URI时,URIError 错误会被抛出
  • 虽然全局 URIError 对象没有任何自己的方法,但是它能通过原型链继承一些方法
  • URIError
decodeURIComponent('%'); // Uncaught URIError: malformed URI sequence

相关文章

网友评论

      本文标题:javascript中的内置对象Error类型对象

      本文链接:https://www.haomeiwen.com/subject/bnemdltx.html