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
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
网友评论