Das Programm wird sequentiell von oben nach unten ausgeführt, und die Ausführungsroute kann durch einige Steueranweisungen geändert werden. Unter dem Einfluss der Steueranweisungen ist die endgültige Ausführungsroute des Programms der Kontrollfluss. Die Steueranweisungen in js umfassen if, for, while, try catch usw., die die Richtung des Programms ändern. Programme arbeiten mit Daten. Die Daten, die sich während der Ausführung des Programms, also während des Fortschreitens des Kontrollflusses, ändern, werden als Datenfluss bezeichnet. Offensichtlich hängt der Datenfluss vom Kontrollfluss ab, und die Datenflussanalyse in der Programmanalyse muss auch zuerst mit der Kontrollflussanalyse durchgeführt werden. Beispielsweise ein Codeabschnitt wie dieser: Konstante a = 1; sei b; wenn (a === 1) { b = '1111'; } anders { b = '2222'; } Da a 1 ist, wird b = '1111'; ausgeführt. Dies ist der Kontrollfluss, also der Code, den das Programm schließlich ausführt. Er kann verwendet werden, um die Richtung des Programms zu analysieren und einige Optimierungen wie das Löschen von totem Code durchzuführen. Während der Kontrollfluss ausgeführt wird, wird b der Wert 2222 zugewiesen. Dies ist der Datenfluss, also der Prozess der Wertänderung, mit dem der Wert einer Variablen in einer bestimmten Anweisung analysiert werden kann. Das Programm führt unterschiedliche Verarbeitungen für unterschiedliche Daten durch. Wenn die Daten falsch 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. Derzeit wird try catch zur Fehlerbehandlung verwendet (auch Ausnahmebehandlung genannt). Wir führen die Ausnahmebehandlung aus zwei Gründen durch: 1. Sorgen Sie für eine Absicherung fehlerhafter Logik. Wenn beispielsweise beim Parsen der Parameter ein Fehler auftritt, weisen Sie im Catch einen Standardwert zu. Es ist nicht erforderlich, diesen Fehler nach seiner Behebung erneut zu melden. In diesem Fall ist „try catch“ ebenfalls Teil der Logik und entspricht „if else“. 2. Geben Sie eine eher szenariobasierte Beschreibung des gemeldeten Fehlers an. JS-Fehler werden von der JS-Engine ausgelöst. Beispielsweise wird beim Aufruf einer Methode eines Nullobjekts ein TypeError gemeldet, und bei Verwendung einer nicht deklarierten Variable wird ein Referenzfehler. Der jeweilige Fehler wird in verschiedenen Szenarien gemeldet und hat unterschiedliche Bedeutungen: Wenn dieses Objekt aus einer Benutzereingabe stammt, bedeutet dies, dass die Benutzereingabe falsch ist. Wenn dieses Objekt vom Server abgerufen wird, bedeutet dies, dass die vom Server zurückgegebenen Daten falsch sind. In verschiedenen Szenarien hat derselbe Fehler spezifischere Bedeutungen, daher müssen wir „Try Catch“ ausführen. Geben Sie dann einen benutzerdefinierten Fehler aus, einschließlich der Fehlerbeschreibung mit Szenarioinformationen. Viele Bibliotheken und Frameworks leisten in dieser Hinsicht gute Arbeit. Die gemeldeten Fehler enthalten alle spezifische Szenarioinformationen und sogar Lösungen. Einige werden auch über Fehlernummern verwaltet, und Lösungen können über errorno abgefragt werden. Es handelt sich hierbei um eine angepasste Fehlerbehandlung. Viele in Geschäftscodes gemeldete Fehler werden jedoch nicht auf diese Weise behandelt, und der ursprüngliche Fehler wird direkt gemeldet. Wir werden die Ausnahmeüberwachungsplattform verwenden, um einige Fehler zu sammeln, die global ausgelöst werden. Diese Fehler sind oft relativ primitive Informationen. Obwohl sie den Fehlerort und -stapel enthalten, müssen wir das Problem dennoch lokalisieren, indem wir uns den Quellcode ansehen. Beispielsweise wird ein Fehler gemeldet, dass ein Objekt leer ist. Woher weiß ich jedoch, welches Objekt leer ist, was der Grund dafür ist, wie ich es lösen kann und ob eine Nummer vorhanden ist? Wäre es nicht viel besser, wenn wir verschiedene Fehler abfangen und dann für bestimmte Szenarien einige benutzerdefinierte Fehler auslösen könnten? Bibliotheken von Drittanbietern können dies sehr gut, aber nur wenige Leute achten auf szenariobasierte benutzerdefinierte Fehler im Geschäftscode. Natürlich nutzen Benutzer des Front-End-Geschäftscodes die Software über die Schnittstelle, sodass es eigentlich ausreicht, lediglich einige UI-Eingabeaufforderungen für verschiedene Fehler bereitzustellen. Der Bibliothekscode ist für Entwickler bestimmt, daher ist es notwendig, szenarienbasierte Beschreibungen verschiedener Fehler zu erstellen und sogar Fehlernummern und Lösungen anzugeben. Ich denke jedoch, dass Geschäftscode Fehler wie Bibliothekscode von Drittanbietern behandeln sollte. Melden Sie keine bedeutungslosen nativen Fehler, sondern einige benutzerdefinierte Fehler mit spezifischen Bedeutungen. Dies erleichtert die Fehlersuche und Problemlösung erheblich. Obwohl szenariobasierte benutzerdefinierte Fehler bei der Problembehandlung besser helfen können, müssen sie auf dem Verständnis der möglichen vom Code gemeldeten Fehler basieren. Wenn die von Ihnen gemeldete Fehlermeldung nicht mit der tatsächlichen Fehlerursache übereinstimmt, wird die Problembehebung dadurch schwieriger. Es ist besser, den ursprünglichen Fehler zu melden. Zusammenfassen Der Ausführungsprozess eines Programms ist der Kontrollfluss, der durch Kontrollanweisungen beeinflusst wird. Daten ändern sich während des Ausführungsprozesses. Die Änderung der Daten wird als Datenfluss bezeichnet. Kontrollfluss und Datenfluss sind zwei Aspekte, die bei der Programmanalyse häufig untersucht werden. Fehler unterbrechen den Kontrollfluss und wir müssen mit Try Catch etwas gegen die Fehler unternehmen. Die Fehlerbehandlung dient zwei Zwecken: Eine Möglichkeit besteht darin, eine Fallback-Verarbeitung durchzuführen, die dem „if else“-Befehl entspricht, sodass der Fehler nicht gemeldet werden muss. Eine Möglichkeit besteht darin, eine szenariobasierte Beschreibung des nativen JS-Fehlers zu erstellen, ein Fehlerobjekt mit spezifischeren Informationen zu erstellen und es zu verwerfen. Viele Bibliotheken machen das sehr gut und geben sogar Fehlernummern und Lösungen an. Viele Geschäftscodes liefern den Benutzern jedoch lediglich Feedback zur Benutzeroberfläche, ohne dass eine szenariobasierte Verpackung der aufgetretenen Fehler erfolgt. Dies führt dazu, dass es sich bei den von der Fehlerüberwachungsplattform erfassten Fehlern um relativ primitive Fehler handelt, bei denen zur Fehlerbehebung eine Überprüfung des Quellcodes erforderlich ist. Wenn wir auch eine szenariobasierte Fehlerverpackung wie den Bibliothekscode durchführen können, wird es viel einfacher sein, Probleme zu zählen und zu beheben, was die meisten Javascript-Entwickler nicht getan haben. Dies ist das Ende dieses Artikels über die Rolle von try catch in Javascript. Weitere Informationen zur Rolle von try catch in Javascript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: JDBC-Idee: MySQL importieren, um Java-JAR-Paket zu verbinden (Mac)
>>: So überprüfen Sie die Speichernutzung unter Linux
Inhaltsverzeichnis Datenvolumen des Docker-Contai...
1. Neuen Benutzer anlegen: 1. Führen Sie eine SQL...
Die Methoden und Konzepte privater und globaler F...
Docker-Installation Verwenden Sie das offizielle ...
Portainer-Einführung Portainer ist ein grafisches...
1. PRIMARY KEY hinzufügen (Primärschlüsselindex) ...
Im Allgemeinen muss, nachdem sich auf der linken ...
Erstens: Stellen Sie zunächst sicher, dass die Ser...
Heute habe ich festgestellt, dass WordPress keine...
Ich habe viele Artikel online durchsucht, aber ke...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Vom Vater zum Sohn Vom Sohn zu...
Hintergrund Das Lösen von Browserkompatibilitätsp...
1. Mentale Reise Als ich kürzlich das Cockpit sch...
Problembeschreibung Als ich kürzlich ein Springbo...