diff options
Diffstat (limited to 'files/zh-tw/web/javascript/reference/global_objects/rangeerror')
-rw-r--r-- | files/zh-tw/web/javascript/reference/global_objects/rangeerror/index.html | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/files/zh-tw/web/javascript/reference/global_objects/rangeerror/index.html b/files/zh-tw/web/javascript/reference/global_objects/rangeerror/index.html new file mode 100644 index 0000000000..257c23be9a --- /dev/null +++ b/files/zh-tw/web/javascript/reference/global_objects/rangeerror/index.html @@ -0,0 +1,152 @@ +--- +title: RangeError +slug: Web/JavaScript/Reference/Global_Objects/RangeError +tags: + - Error + - JavaScript + - Object + - RangeError +translation_of: Web/JavaScript/Reference/Global_Objects/RangeError +--- +<div>{{JSRef}}</div> + +<p><code><strong>RangeError</strong></code>物件在一個給定的值不在允許的集合或範圍內時被作為一個錯誤拋出</p> + +<h2 id="語法">語法</h2> + +<pre class="syntaxbox"><code>new RangeError([<var>message</var>[, <var>fileName</var>[, <var>lineNumber</var>]]])</code></pre> + +<h3 id="參數">參數</h3> + +<dl> + <dt><code>message</code></dt> + <dd>可選。具人類可讀性的錯誤說明</dd> + <dt><code>fileName</code> {{non-standard_inline}}</dt> + <dd>可選。包含造成錯誤發生的程式碼的檔案名稱</dd> + <dt><code>lineNumber</code> {{non-standard_inline}}</dt> + <dd>可選。造成錯誤發生的程式碼行號</dd> +</dl> + +<h2 id="說明">說明</h2> + +<p>當試著往一個 function 傳入一個不被其允許的值作為參數時,一個<code>RangeError</code>被拋出。這可在多種情況遭遇到,例如傳入一個不被允許的字串值到 {{jsxref("String.prototype.normalize()")}},或試著透過 {{jsxref("Array")}} constructor 用一個不合法的長度來創建一個陣列,或往數值方法像是{{jsxref("Number.toExponential()")}}、{{jsxref("Number.toFixed()")}}、{{jsxref("Number.toPrecision()")}} 傳進糟糕的值。</p> + +<h2 id="屬性">屬性</h2> + +<dl> + <dt>{{jsxref("RangeError.prototype")}}</dt> + <dd>允許對一個 <code>RangeError</code> 物件增加其屬性。</dd> +</dl> + +<h2 id="方法">方法</h2> + +<p>普遍的 <code>RangeError</code> 自身沒有包含方法,儘管他的確從原型鍊中繼承了一些。</p> + +<h2 id="RangeError_物件實體"><code>RangeError</code> 物件實體</h2> + +<h3 id="屬性_2">屬性</h3> + +<div>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError/prototype', 'Properties')}}</div> + +<h3 id="方法_2">方法</h3> + +<div>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError/prototype', 'Methods')}}</div> + +<h2 id="範例">範例</h2> + +<h3 id="使用_RangeError_(數值)">使用 <code>RangeError</code> (數值)</h3> + +<pre class="brush: js">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. + } +}</pre> + +<h3 id="使用_RangeError_(非數值)">使用 <code>RangeError</code> (非數值)</h3> + +<pre class="brush: js">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. + } +} +</pre> + +<h2 id="規範">規範</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">規範</th> + <th scope="col">狀態</th> + <th scope="col">注解</th> + </tr> + <tr> + <td>{{SpecName('ES3')}}</td> + <td>{{Spec2('ES3')}}</td> + <td>Initial definition.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.11.6.2', 'RangeError')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="瀏覽器相容性">瀏覽器相容性</h2> + +<div> + + +<p>{{Compat("javascript.builtins.RangeError")}}</p> +</div> + +<h2 id="另見">另見</h2> + +<ul> + <li>{{jsxref("Error")}}</li> + <li>{{jsxref("RangeError.prototype")}}</li> + <li>{{jsxref("Array")}}</li> + <li>{{jsxref("Number.toExponential()")}}</li> + <li>{{jsxref("Number.toFixed()")}}</li> + <li>{{jsxref("Number.toPrecision()")}}</li> + <li>{{jsxref("String.prototype.normalize()")}}</li> +</ul> |