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 Juli 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
messageOptional-
Eine lesbare Beschreibung des Fehlers.
optionsOptional-
Ein Objekt mit den folgenden Eigenschaften:
causeOptional-
Ein Wert, der die spezifische Ursache des Fehlers angibt, reflektiert in der
causeEigenschaft. 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.
fileNameOptional Nicht standardisiert-
Der Pfad zu der Datei, die diesen Fehler ausgelöst hat, reflektiert in der
fileNameEigenschaft. Standardmäßig ist dies der Name der Datei, die denError()Konstruktor aufgerufen hat. lineNumberOptional Nicht standardisiert-
Die Zeilennummer innerhalb der Datei, in der der Fehler ausgelöst wurde, reflektiert in der
lineNumberEigenschaft. 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> |
Browser-Kompatibilität
Loading…