RangeError
RangeError
객체는 어떤 값이 집합에 없거나 허용되는 범위가 아닐 때 오류를 나타냅니다.
설명
어떤 값을 그 값이 포함되는 범위를 허용하지 않는 함수에 인수로 전달하려 할 때 RangeError
가 발생합니다.
이 문제는 다음과 같은 경우에 발생할 수 있습니다.
- 허용되는 문자열이 아닌 값을
String.prototype.normalize()
에 전달하거나, Array
생성자를 통해 잘못된 길이의 배열을 만드려고 시도하거나,-
숫자 메서드
Number.prototype.toExponential()
,Number.prototype.toFixed()
혹은Number.prototype.toPrecision()
에 나쁜 값을 전달하는 경우.
RangeError
는 직렬화 가능한 객체 (en-US)이기 때문에,
structuredClone()
로 복제하거나
postMessage()
(en-US)를 사용하여
Workers 간에 복사할 수 있습니다.
생성자
RangeError()
-
새로운
RangeError
객체를 만듭니다.
인스턴스 속성
RangeError.prototype.message
-
오류 메시지.
Error.prototype.message
를 상속되었습니다. RangeError.prototype.name
-
오류 이름.
Error
로부터 상속되었습니다. RangeError.prototype.cause
-
에러 원인.
Error
로부터 상속되었습니다.. RangeError.prototype.fileName
-
오류가 발생한 파일 경로.
Error
로부터 상속되었습니다. RangeError.prototype.lineNumber
-
오류가 발생한 곳의 줄 위치.
Error
로부터 상속되었습니다. RangeError.prototype.columnNumber
-
오류가 발생한 곳의 열 위치.
Error
로부터 상속되었습니다. RangeError.prototype.stack
(en-US)-
스택 추적.
Error
로부터 상속되었습니다.
예제
RangeError 사용하기(숫자 값일 경우)
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
}
}
RangeError 사용하기 (숫자값이 아닐 경우)
js
function check(value) {
if (!["apple", "banana", "carrot"].includes(value)) {
throw new RangeError(
'The argument must be an "apple", "banana", or "carrot".',
);
}
}
try {
check("cabbage");
} catch (error) {
if (error instanceof RangeError) {
// Handle the error
}
}
명세
Specification |
---|
ECMAScript Language Specification # sec-native-error-types-used-in-this-standard-rangeerror |
브라우저 호환성
BCD tables only load in the browser