Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Error() Konstruktor

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Der Error() Konstruktor erzeugt Error Objekte.

Syntax

js
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 erzeugen eine neue Error Instanz.

Parameter

message Optional

Eine menschenlesbare Beschreibung des Fehlers.

options Optional

Ein Objekt, das folgende Eigenschaften enthält:

cause Optional

Ein Wert, der die spezifische Ursache des Fehlers angibt, wie in der cause Eigenschaft widergespiegelt. Wenn ein Fehler abgefangen und mit einer spezifischeren oder nützlicheren Fehlermeldung erneut ausgelöst wird, kann diese Eigenschaft verwendet werden, um den ursprünglichen Fehler zu übergeben.

fileName Optional

Der Pfad zur Datei, die diesen Fehler ausgelöst hat, wie in der fileName Eigenschaft widergespiegelt. Standardmäßig der Name der Datei, die den Error() Konstruktor aufgerufen hat.

lineNumber Optional

Die Zeilennummer in der Datei, bei der der Fehler aufgetreten ist, wie in der lineNumber Eigenschaft widergespiegelt. Standardmäßig die Zeilennummer, die den Error() Konstruktoraufruf enthält.

Beispiele

Funktionsaufruf oder Konstruktion mit new

Wenn Error wie eine Funktion verwendet wird, das heißt ohne new, wird es ein Error Objekt zurückgeben. Daher wird ein einfacher Aufruf von Error die gleiche Ausgabe erzeugen, die das Konstruieren eines Error Objekts über das new Schlüsselwort geben würde.

js
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!');

Erneutes Auslösen eines Fehlers mit einer Ursache

Es ist manchmal nützlich, einen Fehler abzufangen und ihn mit einer neuen Nachricht erneut auszulösen. In diesem Fall sollten Sie den ursprünglichen Fehler in den Konstruktor für den neuen Error übergeben, wie gezeigt.

js
try {
  frameworkThatCanThrow();
} catch (err) {
  throw new Error("New error message", { cause: err });
}

Für ein ausführlicheres Beispiel siehe Error > Differenzierung zwischen ähnlichen Fehlern.

Weglassen des options Arguments

JavaScript versucht nur dann options.cause zu lesen, wenn options ein Objekt ist — dies vermeidet Verwirrung mit der anderen nicht standardmäßigen Error(message, fileName, lineNumber) Signatur, die als zweiten Parameter einen String erfordert. Wenn Sie options weglassen, einen primitiven Wert als options übergeben oder ein Objekt ohne die cause Eigenschaft übergeben, dann wird das erstellte Error Objekt keine cause Eigenschaft haben.

js
// 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

Spezifikation
ECMAScript® 2027 Language Specification
# sec-error-constructor

Browser-Kompatibilität

Siehe auch