RangeError对象标明一个错误,当一个值不在其所允许的范围或者集合中。
new RangeError([message[, fileName[, lineNumber]]])
messagefileName lineNumber 试图传递一个number参数给一个范围内不包含该number的函数时则会引发RangeError。当传递一个不合法的length值作为Array 构造器的参数创建数组,或者传递错误值到数值计算方法(Number.toExponential(),Number.toFixed() ,Number.toPrecision()),会出现RangeError。.
RangeError.prototype允许在RangeError对象上附加属性。RangeError全局对象没有自带方法,但它通过可以原型链继承一些方法。
RangeError实例RangeError.prototype.constructorRangeError.prototype.messageRangeError should provide its own message property, in SpiderMonkey, it inherits Error.prototype.message.RangeError.prototype.nameError.RangeError.prototype.fileNameError.RangeError.prototype.lineNumberError.RangeError.prototype.columnNumberError.RangeError.prototype.stackError.Although the RangeError prototype object does not contain any methods of its own, RangeError instances do inherit some methods through the prototype chain.
RangeErrorvar check = function(num) {
if (num < MIN || num > MAX) {
throw new RangeError('Parameter must be between ' + MIN + ' and ' + MAX);
}
};
try {
check(500);
}
catch (e) {
if (e instanceof RangeError) {
// 处理越界错误
}
}
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. |
| ECMAScript 5.1 (ECMA-262) RangeError |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) RangeError |
Standard | |
| ECMAScript Latest Draft (ECMA-262) RangeError |
Draft |
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |