Das EvalError Objekt bedeutet einen Fehler in Verbindung mit der globalen eval() Funktion. Dieser Fehler wird nicht von JavaScript erzeugt, jedoch gibt es das EvalError Objekt noch aus Kompatibilitätsgründen.
Syntax
new EvalError([message[, fileName[, lineNumber]]])
Parameters
message- Optional. Für Menschen lesbare Beschreibung des Fehlers.
fileName- Optional. Der Name der Datei, die den Code enthält, welcher zu dem Fehler führt.
lineNumber- Optional. Die Zeilennummer, die den Code enthält, welcher zu dem Fehler führt.
Eigenschaften
EvalError.prototype- Erlaubt das Hinzufügen von Eigenschaften zu einem
EvalErrorObjekt.
Methoden
Das globale EvalError Objekt enthält keine eigen Methoden, jedoch erbt es einige Methoden über die Prototypenkette.
EvalError Instanzen
Eigenschaften
EvalError.prototype.constructor- Spezifiziert die Funktion, die einen Instanzprototypen erstellt.
EvalError.prototype.message- Fehlernachricht. Obwohl ECMA-262 spezifiziert, dass
EvalErrorseine eigenemessageEigenschaft haben soll, wird diese in SpiderMonkey vonError.prototype.messagegeerbt. EvalError.prototype.name- Fehlername. Geerbt von
Error. EvalError.prototype.fileName- Pfad zur Datei, die der der Fehler ausgelöst hat. Geerbt von
Error. EvalError.prototype.lineNumber- Zeilennummer in der Datei, in der der Fehler ausgelöst wurde. Geerbt von
Error. EvalError.prototype.columnNumber- Dpaltennummer in der Zeile, in der der Fehler ausgelöst wurde. Geerbt von
Error. EvalError.prototype.stack- Stacktrace. Geerbt von
Error.
Methoden
Obwohl des EvalError Prototypobjekt keine eigene Methode enthält, erben EvalError Instanzen einige Methoden durch die Prototypenkette.
Beispiele
EvalError wird nicht in der aktuellen ECMAScript Spezifikation verwendet und wird daher auch nicht von der Laufzeitumgebung erzeugt. Jedoch wird das Objekt aus Gründen der Rückwärtskompatibilität zu älteren Versionen der Spezifikation erhalten.
Erstellen eines EvalError
try {
throw new EvalError('Hello', 'someFile.js', 10);
} catch (e) {
console.log(e instanceof EvalError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "EvalError"
console.log(e.fileName); // "someFile.js"
console.log(e.lineNumber); // 10
console.log(e.columnNumber); // 0
console.log(e.stack); // "@Scratchpad/2:2:9\n"
}
Spezifikationen
| Spezifikation | Status | Kommentar |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | Initiale Definition. |
| ECMAScript 5.1 (ECMA-262) Die Definition von 'EvalError' in dieser Spezifikation. |
Standard | Nicht benutzt in dieser Spezifikation. Erhalten für Rückwärtskompatibilität. |
| ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'EvalError' in dieser Spezifikation. |
Standard | Nicht benutzt in dieser Spezifikation. Erhalten für Rückwärtskompatibilität. |
| ECMAScript Latest Draft (ECMA-262) Die Definition von 'EvalError' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EvalError | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 5.5 | Opera Vollständige Unterstützung Ja | Safari Vollständige Unterstützung Ja | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung Ja | Safari iOS Vollständige Unterstützung Ja | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung Ja |
Legende
- Vollständige Unterstützung
- Vollständige Unterstützung