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.
Das RangeError
-Objekt zeigt einen Fehler an, wenn ein Wert nicht in der Menge oder dem 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 diesen Wert einschließt.
Dies kann vorkommen, wenn:
- ein Wert übergeben wird, der nicht einer der erlaubten Zeichenfolgenwerte für
String.prototype.normalize()
ist, oder - wenn versucht wird, ein Array einer unerlaubten 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, daher kann es mit structuredClone()
geklont oder zwischen Arbeitern mit postMessage()
kopiert werden.
RangeError
ist eine Unterklasse von Error
.
Konstruktor
RangeError()
-
Erstellt ein neues
RangeError
-Objekt.
Instanz-Eigenschaften
Erbt auch Instanz-Eigenschaften von seinem übergeordneten 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
-
Repräsentiert den Namen für die Art des Fehlers. Für
RangeError.prototype.name
ist der Anfangswert"RangeError"
.
Instanz-Methoden
Erbt Instanz-Methoden von seinem übergeordneten 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 Language Specification # sec-native-error-types-used-in-this-standard-rangeerror |
Browser-Kompatibilität
BCD tables only load in the browser