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)
Note:
Error()
kann mit oder ohnenew
aufgerufen werden. Beide Aufrufarten erstellen eine neueError
-Instanz.
Parameter
message
Optional-
Eine menschenlesbare Beschreibung des Fehlers.
options
Optional-
Ein Objekt mit den folgenden Eigenschaften:
cause
Optional-
Ein Wert, der die spezifische Ursache des Fehlers angibt, widergespiegelt in der
cause
-Eigenschaft. Beim Abfangen und erneuten Auslösen eines Fehlers mit einer spezifischeren oder nützlicheren Fehlermeldung kann diese Eigenschaft verwendet werden, um den ursprünglichen Fehler zu übergeben.
fileName
Optional Nicht standardisiert-
Der Pfad zur Datei, die diesen Fehler verursacht hat, widergespiegelt 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 aufgetreten ist, widergespiegelt in der
lineNumber
-Eigenschaft. Standardmäßig ist dies die Zeilennummer, die denError()
-Konstruktor aufruft.
Beispiele
Funktionsaufruf oder Erstellung mit new
Wenn Error
wie eine Funktion verwendet wird, also ohne new
, wird ein Error
-Objekt zurückgegeben. Ein einfacher Aufruf von Error
erzeugt daher dieselbe Ausgabe, die das Erstellen eines Error
-Objekts mit dem new
-Schlüsselwort erzeugen würde.
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 auslösen
Es ist manchmal nützlich, einen Fehler abzufangen und diesen mit einer neuen Nachricht erneut auszulösen. In diesem Fall sollten Sie den ursprünglichen Fehler in den Konstruktor des neuen Error
übergeben, wie gezeigt.
try {
frameworkThatCanThrow();
} catch (err) {
throw new Error("New error message", { cause: err });
}
Für ein detaillierteres Beispiel siehe Error > Zwischen ähnlichen Fehlern unterscheiden.
Weglassen des options-Arguments
JavaScript versucht nur options.cause
zu lesen, wenn options
ein Objekt ist — dies vermeidet Mehrdeutigkeit mit der anderen nicht standardmäßigen Error(message, fileName, lineNumber)
-Signatur, die als zweiten Parameter eine Zeichenkette 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.
// 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® 2025 Language Specification # sec-error-constructor |
Browser-Kompatibilität
BCD tables only load in the browser