我想知道是否有人尝试使用JavaScript的异常处理机制来捕获诸如RangeError,ReferenceError和TypeError之类的错误?
例如RangeError:
try {
var anArray = new Array(-1);
// an array length must be positive
throw new RangeError("must be positive!")
}
catch (error) {
alert(error.message);
alert(error.name);
}
finally {
alert("ok, all is done!");
}
在上述情况下,我是否要抛出新的RangeError对象?
Cos我在alert(error.message)处的代码示例未显示用户定义的消息“必须为正”.
我该怎么办才能引发我自己的RangeError对象(以及ReferenceError,TypeError)?
最好.
解决方法:
这已经快一年了,但我认为迟到总比没有好.它取决于浏览器,但是在某些情况下(咳嗽,咳嗽,FIREfox,咳嗽),RangeError继承了Error对象的message属性,而不是提供它自己的.恐怕唯一的解决方法是抛出新的Error(“必须为正!”).抱歉.