# Error 对象
# 说明
- 在JavaScript中一旦代码解析或者运行时发生错误,JavaScript引擎就会自动抛出一个
Error对象的实例。 Error对象的实例有三个基本属性:- name: 错误名称
- message: 错误提示信息
- stack: 错误栈
const e = new Error('这个是错误提示消息')
console.log(e.name)
console.log(e.message)
console.log(e.stack)
// Error
// 这个是错误提示消息
// Error: 这个是错误提示消息
// at <anonymous>:1:11
Error对象是最一般的错误类型,在它的基础上还定义了其他6种派生错误类型:
| 错误名称 | 描述 |
|---|---|
| EvalError | 使用eval()函数产生的错误。注意: 新版的JavaScript使用SyntaxError替代EvalError。 |
| RangeError | 数值超出规定的范围。 |
| ReferenceError | 非法引用。 |
| SyntaxError | 语法错误(会导致整个js文件都无法执行)。 |
| TypeError | 类型错误。 |
| URIError | encodeURI() 函数产生的错误。 |
# 例子
- 1.
RangeError
// 1 数组长度为负数
[].length = -5
// Uncaught RangeError: Invalid array length
// 2.Number对象的方法参数超出范围
var num = new Number(1)
console.log(num.toFixed(-1))
// Uncaught RangeError: toFixed() digits argument must be between 0 and 20 at Number.toFixed
- 2.
ReferenceError
// 1 引用了不存在的变量
console.log(b)
// Uncaught ReferenceError: b is not defined
// 2 给一个无法被赋值的对象赋值
console.log("abc") = 1
// Uncaught ReferenceError: Invalid left-hand side in assignment
- 3.
SyntaxError
// 1 变量名不符合规范
var 1
// Uncaught SyntaxError: Unexpected number
var 1a
// Uncaught SyntaxError: Invalid or unexpected token
// 2 给关键字赋值
function = 5 // Uncaught SyntaxError: Unexpected token =
- 4.
TypeError
// 1 调用不存在的方法
123()
// Uncaught TypeError: 123 is not a function
var o = {}
o.run()
// Uncaught TypeError: o.run is not a function
// 2 new关键字后接基本类型
var p = new 456
// Uncaught TypeError: 456 is not a constructor
← 跨域的方案 Get 和 Post的区别 →