可用性JavaScript 1.5; JScript 5.5; ECMAScript v3 从…继承/覆盖继承于 Object 构造函数new Error( ) new Error(message) 参数
返回值新构造的Error对象。如果指定了参数message,该Error对象将它作为message属性的值;否则,它将用实现定义的默认字符串作为该属性的值。如果把Error构造函数当作函数调用时不使用new运算符,它的行为与使用new运算符调用时一样。 属性
方法描述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 |