Heim >Web-Frontend >js-Tutorial >Eine ausführliche Analyse der try-catch-Anweisung in JS und ihrer beiden Funktionen!
Dieser Artikel stellt Ihnen die Try-Catch-Anweisung in Javascript vor und stellt die beiden Funktionen der Try-Catch-Anweisung vor. Ich hoffe, er wird Ihnen hilfreich sein!
Das Programm wird sequentiell von oben nach unten ausgeführt. Gleichzeitig kann die Ausführungsroute durch einige Kontrollanweisungen geändert werden. Die endgültige Ausführungsroute des Programms ist der Kontrollfluss.
Zu den Steueranweisungen in js gehören if, for, while, try Catch usw. Sie alle ändern die Richtung des Programms.
Programme arbeiten mit Daten. Die Daten, die sich während der Ausführung des Programms, also mit fortschreitendem Kontrollfluss, ändern, werden als Datenfluss bezeichnet.
Offensichtlich hängt die Datenflussanalyse in der Programmanalyse zunächst von der Kontrollflussanalyse ab.
Zum Beispiel dieser Code:
const a = 1; let b; if (a === 1) { b = '1111'; } else { b = '2222'; }
Da a 1 ist, wird es ausgeführt, um b = '1111';
Dies ist der Code, der letztendlich vom Programm ausgeführt wird. Er kann zur Analyse der Richtung verwendet werden das Programm und führen Sie eine Optimierung des toten Codes durch.
Während der Ausführung des Kontrollflusses wird b der Wert 2222 zugewiesen. Dies ist der Datenfluss, dh der Prozess der Wertänderung, mit dem der Wert der Variablen einer bestimmten Anweisung analysiert werden kann.
Das Programm verarbeitet unterschiedliche Daten unterschiedlich. Wenn die Daten fehlerhaft sind, kann das Verarbeitungsprogramm sie nicht verarbeiten und es wird ein Fehler gemeldet, der den nachfolgenden Kontrollfluss unterbricht. Beispielsweise sind die Daten leer, das Datenformat ist falsch usw. Zu diesem Zeitpunkt muss die Fehlerbehandlung über Try Catch erfolgen, auch Ausnahmebehandlung genannt.
Wir führen die Ausnahmebehandlung aus zwei Gründen durch:
Um die falsche Logik gründlich zu verarbeiten.
Wenn beispielsweise beim Parsen der Parameter ein Fehler auftritt, weisen Sie im Catch einen Standardwert zu. Nachdem dieser Fehler behoben wurde, besteht keine Notwendigkeit, ihn erneut zu melden. In diesem Fall ist try Catch ebenfalls Teil der Logik, äquivalent zu if else.
Geben Sie eine szenariobasiertere Beschreibung des gemeldeten Fehlers an.
JS-Fehler werden von der JS-Engine ausgelöst. Wenn Sie beispielsweise eine Methode für ein Nullobjekt aufrufen, wird ein TypeError gemeldet, und die Verwendung einer nicht deklarierten Variablen wird einen ReferenceError melden. Der spezifische Fehler wird in verschiedenen Szenarien gemeldet und hat unterschiedliche Bedeutungen:
Wenn dieses Objekt von einer Benutzereingabe stammt, liegt ein Fehler in der Benutzereingabe vor. Wenn dieses Objekt vom Server abgerufen wird, bedeutet dies, dass die Daten von zurückgegeben wurden Der Server ist falsch. In verschiedenen Szenarien hat derselbe Fehler eine spezifischere Bedeutung, daher müssen wir versuchen, ihn abzufangen. Geben Sie dann einen benutzerdefinierten Fehler aus, der eine Fehlerbeschreibung mit Szeneninformationen enthält.
Viele Bibliotheken und Frameworks verfügen über spezifische Szenarioinformationen und sogar Lösungen. Sie können die Lösungen über die Fehlernummer abfragen. Dabei handelt es sich um eine maßgeschneiderte Fehlerbehandlung.
Viele in Geschäftscodes gemeldete Fehler werden nicht auf diese Weise verarbeitet, sondern der native Fehler wird direkt gemeldet. Wir werden die Ausnahmeüberwachungsplattform verwenden, um einige Fehler zu sammeln, die global ausgelöst werden. Bei diesen Fehlern handelt es sich häufig um relativ primitive Informationen. Obwohl der Fehlerort und der Stapel bereitgestellt werden, müssen wir uns dennoch den Quellcode ansehen, um das Problem zu lokalisieren.
Zum Beispiel wird ein Fehler gemeldet, dass ein Objekt leer ist, aber woher weiß ich, welches Objekt leer ist, was der Grund ist, wie man es löst und ob es eine Nummer hat.
Es wäre viel besser, wenn wir verschiedene Fehler abfangen und dann einige benutzerdefinierte Fehler für bestimmte Szenarien ausschließen könnten. Bibliotheken von Drittanbietern haben in dieser Hinsicht gute Arbeit geleistet, aber nur wenige Leute im Geschäftscode achten auf szenariobasierte benutzerdefinierte Fehler.
Natürlich verwenden Benutzer des Front-End-Geschäftscodes die Software über die Schnittstelle. Tatsächlich müssen sie nur einige UI-Eingabeaufforderungen für verschiedene Fehler bereitstellen. Da der Bibliothekscode für Entwickler gedacht ist, ist es notwendig, verschiedene Fehler szenariobasiert zu beschreiben, die Fehler gleichmäßig zu nummerieren und Lösungen bereitzustellen.
Aber ich denke, dass Geschäftscode auch Fehler wie Bibliothekscode von Drittanbietern behandeln sollte. Melden Sie keine bedeutungslosen nativen Fehler, sondern melden Sie einige benutzerdefinierte Fehler mit spezifischer Bedeutung, damit die Fehlersuche und -lösung viel einfacher wird.
Obwohl szenariobasierte benutzerdefinierte Fehler besser zur Behebung von Problemen beitragen können, müssen sie auf der Gewissheit basieren, welche Fehler vom Code möglicherweise gemeldet werden. Wenn die von Ihnen gemeldete Fehlermeldung von der tatsächlichen Fehlerursache abweicht, wird die Fehlerbehebung schwieriger. Es ist besser, den ursprünglichen Fehler zu melden.
Der Prozess der Programmausführung wird durch Kontrollanweisungen beeinflusst. Die Datenänderungen werden als Datenfluss und Datenfluss bezeichnet Programmanalyse.
Fehler unterbrechen den Kontrollfluss. Wir müssen die Fehler durch Try Catch verarbeiten.
Die Fehlerbehandlung dient zwei Zwecken:
Einer besteht darin, eine verdeckte Verarbeitung durchzuführen, die dem Fall sonst entspricht, und es besteht keine Notwendigkeit mehr, Fehler zu melden.
Eine besteht darin, eine szenariobasierte Beschreibung nativer JS-Fehler zu erstellen und ein Fehlerobjekt mit spezifischeren Informationen zum Auslösen zu erstellen.
Viele Bibliotheken machen das sehr gut und geben sogar Fehlernummern und Lösungen an. Tatsächlich gibt ein Großteil des Geschäftscodes dem Benutzer jedoch nur Feedback auf der Benutzeroberfläche und keine szenariobasierte Paketierung für ausgelöste Fehler. Dies führt dazu, dass es sich bei den von der Fehlerüberwachungsplattform gesammelten Fehlern um relativ primitive Fehler handelt und der Quellcode zur Fehlerbehebung eingesehen werden muss. Wenn Sie auch einige szenariobasierte Fehlerpakete wie den Bibliothekscode erstellen können, ist es viel einfacher, Probleme zu zählen und zu beheben, was die meisten Javascript-Ingenieure nicht getan haben.
Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmiervideos! !
Das obige ist der detaillierte Inhalt vonEine ausführliche Analyse der try-catch-Anweisung in JS und ihrer beiden Funktionen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!