Sie müssten die Fehler ohne die throw
-Anweisung abfangen, weil Sie Ihren Prozess nicht unterbrechen möchten. Stattdessen können Sie ein Array namens Fehler und .push()
der Fehler erstellen. Wenn Sie es für möglich halten, können Sie am Ende des Prozesses prüfen, ob im Fehlerfeld Fehler enthalten sind. Wenn dies der Fall ist, können Sie sie anzeigen oder bearbeiten, wie Sie möchten
Sieht so aus, als ob es nicht darum geht, viele Ausnahmen anzuzeigen, sondern um die gesamte Stack-Ablaufverfolgung des Fehlers anzuzeigen. Wenn ein Fehler ausgelöst wird, wird die Ausführung keinen anderen Fehler empfangen oder auslösen. In einigen Sprachen können Sie die Eltern-Ausnahme natürlich auf die aktuelle Ausnahme setzen, aber das ist bei JavaScript nicht der Fall. Bisher kann ich die Dokumente sehen und suchen. Ссылка und Ссылка . Sie müssen Ihre eigene Fehlerklasse erstellen, was nicht so schwer ist.
Der Stack-Trace in Javascript ist eine Zeichenkette! Es ist gut, wenn Sie es nur in ein Protokoll schreiben möchten, aber schlecht, wenn Sie eine aussagekräftigere Lesestruktur wie ein JSON erstellen möchten.
Wenn Sie den Stack-Trace wirklich anzeigen möchten, müssen Sie wahrscheinlich den Stack-Trace des Error-Objekts in ein Array konvertieren, indem Sie Folgendes verwenden: Ссылка und dann dieses Array in Ihr Fehlerobjekt einfügen.
Danach können Sie das Objekt einfach in Ihrer Datenbank speichern. Sie werden immer noch nur einen Fehler sehen, aber Sie werden alle "Ort", "Linie", "Pfad" davon verfolgen, das klingt für mich, was Sie suchen.
Wenn Sie den übergeordneten Fehler einer Ablaufverfolgung beibehalten möchten, müssen Sie wahrscheinlich eine eigene Fehlerklasse erstellen.
Wenn Sie viele Fehler in einem großen Paket behalten möchten, können Sie beispielsweise für Validierungsrückmeldungen die Fehlerklasse erweitern, um ein Fehlerpaket zu erstellen. Ich habe ein einfaches Beispiel für jede dieser Klassen erstellt.