返回列表索引   上一页   下一页
Error 普通异常

可用性

JavaScript 1.5; JScript 5.5; ECMAScript v3

从…继承/覆盖

继承于 Object

构造函数

new Error(  )

new Error(message)

参数

message

提供异常的详细信息的错误消息,可选。

返回值

新构造的Error对象。如果指定了参数message,该Error对象将它作为message属性的值;否则,它将用实现定义的默认字符串作为该属性的值。如果把Error构造函数当作函数调用时不使用new运算符,它的行为与使用new运算符调用时一样。

属性

message

提供异常详细信息的错误消息。该属性存放传递给构造函数的字符串,或实现定义的默认字符串。

name

声明异常类型的字符串。对于Error类的实例和所有子类来说,该属性声明了用于创建实例的构造函数名。

方法

toString( )

返回一个表示Error对象的字符串

描述

Error类的实例表示错误或异常,通常与throw语句和try/catch语句一起使用。属性name声明了异常的类型,message属性可提供人们能够读取的异常的详细信息。

JavaScript解释器从不直接抛出Error对象,而是抛出Error子类(如SyntaxError或RangeError)的实例。在代码中,你会发现抛出Error对象指示异常非常方便,或者也可以用原始字符串或数字的形式抛出错误消息或错误代码。

注意,ECMAScript标准为Error类定义了toString()方法(Error的所有子类都继 承了该方法),但并不要求该方法返回含有message属性的字符串。因此,不能期望 toString()方法可以把Error对象转换成人们可以读懂的字符串。要把错误消息显 示给用户,应该明确地使用Error对象的name属性和message属性。

示例

可以用下列代码指示一个异常:

function factorial(x) {

    if (x < 0) throw new Error("factorial: x must be >= 0");

    if (x <= 1) return 1; else return x * factorial(x-1);

}

如果捕捉到了一个异常,可以用下列代码把它显示给用户(这段代码使用了客户端 Window.alert()方法):

try { &*(&/* an error is thrown here */ }

catch(e) {

    if (e instanceof Error) {  // 判断是否为Error或子类的—个实例

        alert(e.name + ": " + e.message);

    }

} 

参阅

EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError

    返回列表索引   上一页   下一页