一、定义
在JavaScript中Error类表示一个异常,是其他异常类的父类,构造一个Error类的基本语法为:
objError = new Error(message);
Error对象具有name和message两个属性,name表示异常的类型,message表示异常详细信息字符串
JavaScript还预定义了其他一些异常类,这些类都是Error类的子类,如下:
1.EvalError //当不正确使用eval函数时,会抛出EvalError类的一个实例
2.RangeError //当数值超出JavaScript中合法的数值范围时,会抛出RangeError类的一个实例
3.ReferenceError //当读取一个不存在的变量的值时,会抛出ReferenceError类的一个实例
4.SyntaxError //当JavaScript中出现语法错误时,会抛出SyntaxError类的一个实例
5.TypeError //当JavaScript中类型不符合要求时,会抛出TypeError类的一个实例
6.URIError //当字符串不符合编码或解码要求时,会抛出URIError类的一个实例
二、用法
为了说明如何在JavaScript中使用异常机制,我来用代码说明,这样会更加清晰:
function testEval(){ //定义函数testEval()
try{
var exp = prompt("请输入一个表达式","");
var result = eval(exp); //eval()函数是用来执行exp表达式的
}catch(error){ //这里catch里面的只能是error,也成Error是错误的
throw new Error("对不起,您输入的表达式不合法!");
}
document.write("表达式的值为: "+result+"<br/>")
}
JavaScript中Error对象是保存有关错误的信息。使用方法:
var newErrorObj = new Error(
)
var newErrorObj = new Error(
number
)
var newErrorObj = new Error(
number,
description
)
JavaScript中Error对象的构造函数语法有以下部分:
其中number是与错误相联的数字值。如果省略则为零。
description是描述错误的简短字符串。如果省略则为空字符串。
每当产生运行时错误,就产生Error 对象的一个实例以描述错误。该实例有两个固有属性保存错误的描述(description 属性)和错误号(number 属性)。
错误号是32 位的值。高16 位字是设备代码,而低字是实际的错误代码。
Error 对象也可以用如上所示的语法显式创建,或用throw 语句抛掉。在两种情况下,都可以添加选择的任何属性,以拓展Error 对象的能力。
典型地,在try...catch 语句中创建的局部变量引用隐式创建的Error 对象。因此,可以按选择的任何方法使用错误号和描述。
下面的例子演示了隐式创建Error 对象的使用:
try
{ x = y // 产生错误。
}catch(e){ // 创建局部变量e。
response.write(e) // 打印"[object Error]".
response.write(e.number & 0xFFFF) // 打印5009。
response.write(e.description) // 打印"'y' is undefined".
}