RangeError
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Das RangeError
-Objekt zeigt einen Fehler an, wenn ein Wert nicht in der Menge oder im Bereich der zulässigen Werte liegt.
Beschreibung
Ein RangeError
wird ausgelöst, wenn versucht wird, einen Wert als Argument an eine Funktion zu übergeben, die keinen Bereich zulässt, der den Wert einschließt.
Dies kann auftreten, wenn:
- ein Wert übergeben wird, der nicht einer der erlaubten Zeichenfolgenwerte für
String.prototype.normalize()
ist, oder - wenn versucht wird, ein Array mit einer illegalen Länge mit dem
Array
-Konstruktor zu erstellen, oder - wenn ungültige Werte an die numerischen Methoden
Number.prototype.toExponential()
,Number.prototype.toFixed()
oderNumber.prototype.toPrecision()
übergeben werden.
RangeError
ist ein serialisierbares Objekt und kann daher mit structuredClone()
geklont oder zwischen Arbeitern mit postMessage()
kopiert werden.
RangeError
ist eine Unterklasse von Error
.
Konstruktor
RangeError()
-
Erstellt ein neues
RangeError
-Objekt.
Instanzeigenschaften
Übernimmt auch Instanzeigenschaften von seinem Elternteil Error
.
Diese Eigenschaften sind auf RangeError.prototype
definiert und werden von allen RangeError
-Instanzen geteilt.
RangeError.prototype.constructor
-
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
RangeError
-Instanzen ist der Anfangswert derRangeError
-Konstruktor. RangeError.prototype.name
-
Gibt den Namen für den Fehlertyp an. Für
RangeError.prototype.name
ist der Anfangswert"RangeError"
.
Instanzmethoden
Übernimmt Instanzmethoden von seinem Elternteil Error
.
Beispiele
Verwendung von RangeError (für numerische Werte)
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
}
}
Verwendung von RangeError (für nicht-numerische Werte)
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
}
}
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-native-error-types-used-in-this-standard-rangeerror |