1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
---
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> {{optional_inline}}</dt>
<dd>Необов'язковий. Зрозумілий людині опис помилки.</dd>
<dt><code>fileName</code> {{optional_inline}} {{non-standard_inline}}</dt>
<dd>Необов'язковий. Ім'я файлу, який містить код, що спричинив виняток.</dd>
<dt><code>lineNumber</code> {{optional_inline}} {{non-standard_inline}}</dt>
<dd>Необов'язковий. Номер рядка в коді, що спричинив виняток.</dd>
</dl>
<h2 id="Опис">Опис</h2>
<p>Виняток <code>RangeError</code> викидається при спробі передати у якості аргумента функції значення, яке не входить у діапазон дозволених цією функцією значень.</p>
<p>Його можна зустріти, якщо:</p>
<ul>
<li>передати значення, що не є одним з дозволених рядкових значень, у {{jsxref("String.prototype.normalize()")}}, або</li>
<li>при спробі створити масив з недозволеним значенням довжини за допомогою конструктора {{jsxref("Array")}}, або</li>
<li>при спробі передати неправильні значення до числових методів {{jsxref("Number.toExponential()")}}, {{jsxref("Number.toFixed()")}} або {{jsxref("Number.toPrecision()")}}.</li>
</ul>
<h2 id="Властивості">Властивості</h2>
<dl>
<dt><code>RangeError.prototype</code></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('/uk/docs/Web/JavaScript/Reference/Global_Objects/RangeError/prototype', 'Властивості')}}</div>
<h3 id="Методи_2">Методи</h3>
<div>{{page('/uk/docs/Web/JavaScript/Reference/Global_Objects/RangeError/prototype', 'Методи')}}</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("Аргумент має бути в діапазоні між -500 та 500.")
}
}
try
{
check(2000);
}
catch(error)
{
if(error instanceof RangeError)
{
// Обробити помилку
}
}</pre>
<h3 id="Використання_RangeError_для_нечислових_значень">Використання <code>RangeError</code> (для нечислових значень)</h3>
<pre class="brush: js">function check(value)
{
if(["яблуко", "банан", "морква"].includes(value) === false)
{
throw new RangeError("Аргумент має дорівнювати \"яблуко\", \"банан\", або \"морква\".")
}
}
try
{
check("капуста")
}
catch(error)
{
if(error instanceof RangeError)
{
// Обробити помилку
}
}
</pre>
<h2 id="Специфікації">Специфікації</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Специфікація</th>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}}</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("Array")}}</li>
<li>{{jsxref("Number.toExponential()")}}</li>
<li>{{jsxref("Number.toFixed()")}}</li>
<li>{{jsxref("Number.toPrecision()")}}</li>
<li>{{jsxref("String.prototype.normalize()")}}</li>
</ul>
|