Error() Konstruktor
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.
Der Error()
Konstruktor erstellt Error
Objekte.
Syntax
new Error()
new Error(message)
new Error(message, options)
new Error(message, fileName)
new Error(message, fileName, lineNumber)
Error()
Error(message)
Error(message, options)
Error(message, fileName)
Error(message, fileName, lineNumber)
Hinweis:
Error()
kann mit oder ohne new
aufgerufen werden. Beide Methoden erstellen eine neue Error
-Instanz.
Parameter
message
Optional-
Eine lesbare Beschreibung des Fehlers.
options
Optional-
Ein Objekt mit den folgenden Eigenschaften:
cause
Optional-
Ein Wert, der die spezifische Ursache des Fehlers angibt, reflektiert in der
cause
Eigenschaft. Wenn ein Fehler abgefangen und mit einer spezifischeren oder nützlicheren Fehlermeldung erneut geworfen wird, kann diese Eigenschaft verwendet werden, um den ursprünglichen Fehler weiterzugeben.
fileName
Optional Nicht standardisiert-
Der Pfad zu der Datei, die diesen Fehler ausgelöst hat, reflektiert in der
fileName
Eigenschaft. Standardmäßig ist dies der Name der Datei, die denError()
Konstruktor aufgerufen hat. lineNumber
Optional Nicht standardisiert-
Die Zeilennummer innerhalb der Datei, in der der Fehler ausgelöst wurde, reflektiert in der
lineNumber
Eigenschaft. Standardmäßig ist dies die Zeilennummer, die denError()
Konstruktor aufruft.
Beispiele
Funktionsaufruf oder neue Konstruktion
Wenn Error
wie eine Funktion genutzt wird, also ohne new
, wird ein Error
-Objekt zurückgegeben.
Daher wird ein einfacher Aufruf von Error
dasselbe Ergebnis liefern, das man durch die Konstruktion eines Error
-Objekts über das new
Schlüsselwort erzielt.
const x = Error("I was created using a function call!");
// above has the same functionality as following
const y = new Error('I was constructed via the "new" keyword!');
Einen Fehler mit einer Ursache erneut werfen
Es ist manchmal nützlich, einen Fehler abzufangen und ihn mit einer neuen Nachricht erneut zu werfen.
In diesem Fall sollten Sie den ursprünglichen Fehler in den Konstruktor für den neuen Error
übergeben, wie gezeigt.
try {
frameworkThatCanThrow();
} catch (err) {
throw new Error("New error message", { cause: err });
}
Für ein detaillierteres Beispiel siehe Error > Unterschiede zwischen ähnlichen Fehlern.
Weglassen des Optionsarguments
JavaScript versucht nur, options.cause
zu lesen, wenn options
ein Objekt ist — dies vermeidet eine Mehrdeutigkeit mit der anderen, nicht standardmäßigen Error(message, fileName, lineNumber)
Signatur, die erfordert, dass der zweite Parameter ein String ist. Wenn Sie options
weglassen, einen primitiven Wert als options
übergeben oder ein Objekt ohne die cause
Eigenschaft übergeben, wird das erstellte Error
-Objekt keine cause
Eigenschaft haben.
// Omitting options
const error1 = new Error("Error message");
console.log("cause" in error1); // false
// Passing a primitive value
const error2 = new Error("Error message", "");
console.log("cause" in error2); // false
// Passing an object without a cause property
const error3 = new Error("Error message", { details: "http error" });
console.log("cause" in error3); // false
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-error-constructor |