aboutsummaryrefslogtreecommitdiff
path: root/files/ko/web/javascript/reference/global_objects/rangeerror/index.html
blob: 800aa040f20abdd9a3dc131fbb4bf66fa056c7c0 (plain)
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
---
title: RangeError
slug: Web/JavaScript/Reference/Global_Objects/RangeError
translation_of: Web/JavaScript/Reference/Global_Objects/RangeError
tags:
  - Error
  - JavaScript
  - Reference
  - RangeError
browser-compat: javascript.builtins.RangeError
---

<div>{{JSRef}}</div>

<p>
    <code><strong>RangeError</strong></code> 객체는 어떤 값이 집합에 없거나 허용되는 범위가 아닐 때
  오류를 나타냅니다.
</p>

<h2 id="설명">설명</h2>

<p>
    어떤 값을 그 값이 포함되는 범위를 허용하지 않는 함수에 인수로 전달하려 할 때  
  <code>RangeError</code>가 발생합니다.
</p>

<p>이 문제는 다음과 같은 경우에 발생할 수 있습니다.</p>

<ul>
  <li>허용되는 문자열이 아닌 값을 {{jsxref("String.prototype.normalize()")}}에 전달하거나,</li>
  <li>{{jsxref("Array")}} 생성자를 통해 잘못된 길이의 배열을 만드려고 시도하거나,  </li>
  <li>
        숫자 메서드 {{jsxref("Number.prototype.toExponential()")}},    
    {{jsxref("Number.prototype.toFixed()")}} 혹은 {{jsxref("Number.prototype.toPrecision()")}}에
    나쁜 값을 전달하는 경우.  
  </li>
</ul>

<h2 id="생성자">생성자</h2>

<dl>
  <dt>{{jsxref("RangeError/RangeError", "RangeError()")}}</dt>
  <dd>새로운 <code>RangeError</code> 객체를 만듭니다.</dd>
</dl>

<h2 id="인스턴스_속성">인스턴스_속성</h2>

<dl>
  <dt>{{jsxref("Error.prototype.message", "RangeError.prototype.message")}}</dt>
  <dd>
    오류 메시지. 비록 ECMA-262에서 {{jsxref("RangeError")}}는 반드시 자체    
    <code>message</code> 속성을 제공해야한다고 명시했지만, <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a>{{jsxref("Error.prototype.message")}}를 상속합니다.  
  </dd>
  <dt>{{jsxref("Error.prototype.name", "RangeError.prototype.name")}}</dt>
  <dd>오류 이름. {{jsxref("Error")}}로부터 상속되었습니다.</dd>
  <dt>{{jsxref("Error.prototype.fileName", "RangeError.prototype.fileName")}}  </dt>
  <dd>오류가 발생한 파일 경로. {{jsxref("Error")}}로부터 상속되었습니다.</dd>
  <dt>{{jsxref("Error.prototype.lineNumber", "RangeError.prototype.lineNumber")}}  </dt>
  <dd>오류가 발생한 곳의 줄 위치. {{jsxref("Error")}}로부터 상속되었습니다.</dd>
  <dt>{{jsxref("Error.prototype.columnNumber", "RangeError.prototype.columnNumber")}}</dt>
  <dd>오류가 발생한 곳의 열 위치. {{jsxref("Error")}}로부터 상속되었습니다.</dd>
  <dt>{{jsxref("Error.prototype.stack", "RangeError.prototype.stack")}}</dt>
  <dd>스택 추적. {{jsxref("Error")}}로부터 상속되었습니다.</dd>
</dl>

<h2 id="예"></h2>

<h3 id="RangeError_사용하기_숫자값">RangeError 사용하기(숫자 값일 경우)</h3>

<pre class="brush: js">
function check(n)
{
  if( !(n &gt;= -500 &amp;&amp; n &lt;= 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_사용하기_숫자값이_아닐_경우">RangeError 사용하기 (숫자값이 아닐 경우)</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="specifications">명세</h2>

<p>{{Specifications}}</p>

<h2 id="browser_compatibility">브라우저 호환성</h2>

<p>{{Compat}}</p>

<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>
</ul>