Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Hinweis: Diese Funktion ist Teil der derzeit nicht standardisierten V8 Stack Trace API. Aus Kompatibilitätsgründen wird sie jedoch auch von JavaScriptCore implementiert.
Die Error.stackTraceLimit
statische Dateneigenschaft gibt die maximale Anzahl von Stack-Frames an, die durch den Stack-Trace eines Fehlers erfasst werden. Sie kann durch Benutzer-Code gesetzt werden, um das Verhalten der Engine zu ändern.
Im Allgemeinen ist das Lesen dieser Eigenschaft nicht sehr nützlich, aber sie kann auf einen neuen Wert gesetzt werden. Das Setzen auf einen gröÃeren Wert kann beim Debuggen hilfreich sein, da es ermöglicht, mehr vom Call-Stack zu sehen. Das Setzen auf einen kleineren Wert kann die Leistung verbessern, da es die Menge des erfassten Stacks reduziert.
WertEin Integer, der die maximale Anzahl von Stack-Frames darstellt, die durch den Stack-Trace eines Fehlers erfasst werden.
Schreibbar ja Aufzählbar ja Konfigurierbar ja BeschreibungDa stackTraceLimit
eine statische Eigenschaft von Error
ist, wird sie immer als Error.stackTraceLimit
verwendet und nicht als Eigenschaft eines von Ihnen erstellten Error
-Objekts. Wenn Sie den Stack-Trace nur für einen einzigen Fehler anpassen möchten, müssen Sie die Eigenschaft möglicherweise setzen, den Fehler erstellen und dann die Eigenschaft auf ihren ursprünglichen Wert zurücksetzen.
Dieser Code ist sicher auszuführen, selbst in Umgebungen, die Error.stackTraceLimit
nicht unterstützen, da er die Eigenschaft nicht liest, sondern nur setzt, und Engines, die sie nicht unterstützen, die Einstellung ignorieren werden.
Error.stackTraceLimit = 2;
const a = () => b();
const b = () => c();
const c = () => d();
const d = () => e();
const e = () => {
throw new Error("My error");
};
try {
a();
} catch (e) {
console.log(e.stack);
}
// Only two frames in supporting engines; all frames in others
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4