--- title: RangeError slug: Web/JavaScript/Reference/Global_Objects/RangeError tags: - Error - JavaScript - Object - RangeError translation_of: Web/JavaScript/Reference/Global_Objects/RangeError ---
RangeError
物件在一個給定的值不在允許的集合或範圍內時被作為一個錯誤拋出
new RangeError([message[, fileName[, lineNumber]]])
message
fileName
{{non-standard_inline}}lineNumber
{{non-standard_inline}}當試著往一個 function 傳入一個不被其允許的值作為參數時,一個RangeError
被拋出。這可在多種情況遭遇到,例如傳入一個不被允許的字串值到 {{jsxref("String.prototype.normalize()")}},或試著透過 {{jsxref("Array")}} constructor 用一個不合法的長度來創建一個陣列,或往數值方法像是{{jsxref("Number.toExponential()")}}、{{jsxref("Number.toFixed()")}}、{{jsxref("Number.toPrecision()")}} 傳進糟糕的值。
RangeError
物件增加其屬性。普遍的 RangeError
自身沒有包含方法,儘管他的確從原型鍊中繼承了一些。
RangeError
物件實體RangeError
(數值)function check(n) { if(!(n >= -500 && n <= 500)) { throw new RangeError("The argument must be between -500 and 500."); } } try { check(2000); } catch(error) { if(error instanceof RangeError) { // Handle the error. } }
RangeError
(非數值)function check(value) { if(["apple", "banana", "carrot"].includes(value) === false) { throw new RangeError("The argument must be an \"apple\", \"banana\", or \"carrot\"."); } } try { check("cabbage"); } catch(error) { if(error instanceof RangeError) { // Handle the error. } }
規範 | 狀態 | 注解 |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Initial definition. |
{{SpecName('ES5.1', '#sec-15.11.6.2', 'RangeError')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.RangeError")}}