代码改变世界

Error 普通异常

2012-05-10 14:59  呦菜  阅读(296)  评论(0编辑  收藏  举报

Error 

普通异常

构造函数:

new Error()

newError(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 foo(x)
{
    if(isNaN(x))
       throw new Error("该值不是数字");
    else if(x<1)
        throw new Error("x must be > 0");
    else
        document.write(x);
}
foo("s");
//foo(0);