Error 内置对象用于创建一个异常对象,当运行时产生异常,Error 的实例对象会被抛出。Error 对象也可用于用户自定义的异常的基础对象。
new Error([ message ][, fileName[, lineNumber]])
参数 | 说明 | 类型 |
---|---|---|
message | 可选参数。错误描述信息 | string |
fileName | 可选参数。默认是调用 Error 构造器代码所在的文件的名字 | string |
lineNumber | 可选参数。默认是调用 Error 构造器代码所在文件的行号 | number |
除了通用的 Error 构造函数外,还有 6 个其他类型的异常构造函数。
EvalError
:用于表示与 eval()
相关的异常InternalError
:用于表示 JavaScript 引擎内部错误的异常抛出的实例。 如: "递归太多"。RangeError
:用于表示数值变量或参数超出其有效范围的异常ReferenceError
:用于表示无效引用的异常SyntaxError
:用于表示 eval()
在解析代码的过程中发生的语法错误的异常TypeError
:用于表示变量或参数不属于有效类型的异常URIError
:用于表示给 encodeURI()
或 decodeURl()
传递的参数无效的错误通常会使用 throw
关键字来抛出你创建的 Error 对象。
try {throw new Error('Whoops!');} catch (e) {console.log(e.name + ': ' + e.message);}
你可以通过判断异常的类型来特定处理某一类的异常,即判断 constructor
属性,可使用 instanceof
关键字。
const a = RangeError('throw Error');console.log(a instanceof RangeError);// true