Heim  >  Artikel  >  Web-Frontend  >  Wie können JavaScript-Stack-Traces für benutzerdefinierte Ausnahmen abgerufen werden?

Wie können JavaScript-Stack-Traces für benutzerdefinierte Ausnahmen abgerufen werden?

DDD
DDDOriginal
2024-10-17 22:30:03935Durchsuche

How Can JavaScript Stack Traces Be Obtained for Custom Exceptions?

So erhalten Sie einen JavaScript-Stack-Trace für benutzerdefinierte Ausnahmen

Beim Auslösen benutzerdefinierter JavaScript-Ausnahmen (z. B. „AArrggg“ auslösen) wird beim Zugriff auf a Der Stacktrace (über Firebug oder andere Tools) zeigt möglicherweise nur die Ausnahmemeldung an. In diesem Artikel werden Lösungen zum Erhalten vollständiger Stack-Traces vorgestellt, auch für benutzerdefinierte Ausnahmen.

Moderne Browser-Lösung:

In modernen Browsern können Sie bequem über die Konsole auf den Stack-Trace zugreifen .trace().

Error-Stack-Eigenschaft:

Für eine sauberere und einfachere Lösung können Sie die Stack-Eigenschaft eines Error-Objekts verwenden:

<code class="js">function stackTrace() {
    var err = new Error();
    return err.stack;
}</code>

Dieser Ansatz bietet einen detaillierten Stack-Trace, einschließlich der aufrufenden Funktionen, Dateipfade und Zeilennummern.

Benutzerdefinierte Stack-Trace-Funktion:

Für mehr Maßgeschneidert Um die Stack-Trace-Funktionalität zu nutzen, sollten Sie das folgende Skript verwenden:

<code class="js">function stacktrace() { 
  function st2(f) {
    return !f ? [] : 
        st2(f.caller).concat([f.toString().split('(')[0].substring(9) + '(' + f.arguments.join(',') + ')']);
  }
  return st2(arguments.callee.caller);
}</code>

Das obige ist der detaillierte Inhalt vonWie können JavaScript-Stack-Traces für benutzerdefinierte Ausnahmen abgerufen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn