Die Einführung eines Fehler-und Exception Handling-Strategie

Die Einführung eines Fehler-und Exception Handling-Strategie

  

Problem Sie möchten einen sauberen Fehler-und Exception-Handling-Strategie in Ihren Anwendungen zu implementieren, damit sie mehr reibungslos laufen. Theory of course, könnte man argumentieren, dass ein Fehler ein Dialogfenster, und der andere ist in der JavaScript-Konsole erzeugt. Die Tatsache, dass ein Browser verwendet einen Dialog, um einen Fehler und der andere nicht ist ein Browser-Problem, kein Fehler ersichtlich sind. Eine knappe Art der Klassifizierung der beiden Fehler ist zu sagen, dass man eine HTML-Seite stellt Initialisierung Fehler, die andere stellt eine HTML-Seite Ausführung Fehler. Bei der Umsetzung einer Fehler-Strategie, prüfen die technische Umsetzung. Auf technischer Ebene, wenn das erste Zeichen verarbeitet wird, wird die Ausführung von JavaScript-Laufzeit und kann einen Fehler erzeugen. Aber wenn ein Fehler passiert, drei Zeichen in der Verarbeitung, sind Sie so ziemlich machtlos, etwas dagegen zu tun. Bis in die HTML-Seite vollständig abgearbeitet wurde, sollten Sie nicht aktivieren Fehlerbehandlung, da die Fehlerbehandlung Rahmen möglicherweise nicht korrekt initialisiert werden.

Und wenn ein Fehler tritt an dieser Stelle geschehen, könnte die Fehlerbehandlung Rahmen losgehen halb gespannt. Nach einem unvollständigen Rahmen versuchen, wird ein Fehler nur verwirren, nicht beim Prozess. Ihr Ziel sollte es sein, initialisieren und die Fehlerbehandlung Rahmen vorzubereiten, in der HTML-Seite wurde vollständig verarbeitet. Um zu wissen, wann die Fehlerbehandlung Rahmen zu initialisieren, müssen Sie wissen, wenn HTML-Seite Initialisierung beendet und HTML-Seite zur Laufzeit beginnt. Technisch beginnt HTML-Seite Initialisierung wenn das erste Zeichen der HTML-Seite verarbeitet wird. Und technisch beginnt HTML-Seite, wenn die Laufzeit window.onload-Ereignis aufgerufen wird. Die window.onload Ereignis wird aufgerufen, nachdem die HTML-Seite verarbeitet wurde, einschließlich der Bilder und Bilder, und es ist das erste Stück von JavaScript-Code, der bei der Ausführung können die HTML-Seite erwartet abgeschlossen zu sein. Ein Beispiel für Umsetzung der window.onload Veranstaltung könnte wie folgt aussehen:

 Implementieren einer Fehlerbehandlung Strategie 

In diesem Beispiel ist window.onload im oberen Bereich der HTML-Seite, aber die funktionieren könnte überall auf der Seite gesetzt werden. Bei der Durchführung des window.onload ist die window.onerror Methode als globaler catchall Fehlerhandler zugeordnet. Von einer Skriptsprache Sicht ist es der letzte Punkt, an dem Sie den Browser so konfigurieren können, bevor der Browser die Ausführung der Laufzeit der HTML-Seite beginnt. Die window.onerror Handler erhält drei Parameter: MSG-Datei und den Ort. Diese drei Parameter stellen die Nachricht, die Datei, und die Position in der Datei, respectively.

Im Rahmen der Umsetzung der window.onerror Handler könnte die Reparatur-Handler und versuchen, ein Protokoll zu generieren, oder was immer sonst ist erwünscht. Das Beispiel window.onerror Umsetzung gibt keinen wahren oder falschen Wert, so dass der Fehler an den Browser weitergegeben. Ein falscher Wert propagieren und der Fehler wird angezeigt, während ein wahrer Wert nicht bekannt, den Browser des Fehlers. Die Beispiel-Implementierung enthält ein Problem, aber es ist nicht mit der Fehlerbehandlung. Das Problem liegt bei der Zuordnung der window.onload Funktion. Da der Code geschrieben ist, gibt es nur eine Funktion für die Umsetzung window.onload, und es initialisiert die window.onerror Funktion. Für eine Ajax-Anwendung von beliebiger Komplexität ist es nicht möglich, einen einzigen window.onload Methode zuzuordnen, da dies werden in Beschlag der Methode. Lösung Diese Lösung sieht die Schaffung eines JavaScript zu delegieren, wie das folgende Quellcode dargestellt.

 Quelle: / website / ROOT / ajaxrecipes / javascript / functionsareobjects.html  Implementieren einer Fehlerbehandlung Strategie 
 

In der modifizierten onload Umsetzung ist die ops.delegate Funktion verwendet werden, einen Delegierten zu schaffen. Für den Moment, denken Sie an einen Delegierten als eine Möglichkeit, eine einheitliche Methode Aufrufs in mehreren Methoden aufgerufen. (Sie können mehr Informationen über die Delegierten in Rezept 2-17 zu finden.) Die Umsetzung der ops.delegate wird prüfen, ob eine Funktion bereits mit window.onload zugeordnet ist. Wenn eine Funktion zugeordnet ist, werden die vorhandenen Funktion ist es, eine delegierte Methode umgewandelt, und die neue Funktion mit dem Delegierten verbunden.

Dann, wenn der Browser fordert window.onload, wird es sowohl die ursprüngliche Funktion und die neue Funktion aufrufen. In der Theorie kann eine unbegrenzte Anzahl von Funktionen mit einem Delegierten in Verbindung gebracht werden. Das wichtige ist daran zu denken, die mehrere Funktionen mit einem einzigen Eigenschaft zugeordnet werden können, die für die window.onload Methode erforderlich ist. Der folgende Code prüft die Fehlerbehandlungsroutine:

var testsToRun = (throw_exception: function () (throw new Error ( "Dies ist ein Fehler");));

Wenn die throw_exception Funktion aufgerufen wird, wird eine Ausnahme von der Instanziierung des Error-Objekt erzeugt und dann werfen sie mit dem Schlüsselwort zu werfen. In der Theorie können Sie werfen ein beliebiges Objekt, das wie auch ein Fehler aussieht. Natürlich mit Fehler auf diese Weise ist die effektive Wahl zu treffen, und dies im Wesentlichen ist die Grundlage für ihre Fehlerbehandlung Rahmen. Sie brauchen etwas, um einen Fehler zu erfassen, und Sie brauchen, um einen Fehler zu werfen. Wie Sie Erfassung und Bearbeitung der Fehler ist kontext-spezifisch, so zeigt Ihnen, was ich oder ein anderer Programmierer hat in einer anderen Anwendung wird nicht umgesetzt, Sie hier zu helfen. Ein anderer Weg, um einen Fehler Erfassung wird durch eine Exception-Handler, wie folgt:

Funktion generieren () (throw new Error ();) function CatchAll () (try (generieren ();) catch (e) (/ / Do something with error throw e;))

In diesem Beispiel werden zwei Funktionen: Erstellen und CatchAll. Wird verwendet, Generieren, um eine Ausnahme zu generieren, und CatchAll wird verwendet, um die Ausnahme zu erfassen. In JavaScript können Sie erfassen eine Ausnahme mit dem versuchen und Keywords, die alle Fehler und Ausnahmen abfangen, die während der Code im try-Block ausgeführt wird auftreten, zu fangen. Wenn eine Ausnahme generiert wird, wird der Code innerhalb der catch-Block ausgeführt. Im Beispiel wird der Fehler durch Generieren erzeugt und der catch-Block, das wirft dann den Fehler ertappt. Wenn der Fehler wieder ausgelöst wird, wird die Ausnahme in der window.onload Methode gefangen werden. Die Try and catch-Block ist sehr nützlich, weil alle Fehler und Ausnahmen kann, ohne den Browser zu jeder klüger gefangen werden. Aber mit einem Catch-All-Mechanismus kann JavaScript Debugging komplizierter, weil Fehler, die auftreten werden, ohne dass die Entwickler alle klüger verarbeitet. Sie könnten versucht sein, verwenden Sie einen Block und versuchen zu fangen, wie eine allgemeine Technik, Programmierung, aber das wäre eine schlechte Idee.

Ein Fehler, der ausgelöst wird, ist eine Ausnahme, und eine Ausnahme ist etwas, das nicht geschehen sein sollte und nicht vorhersehbar ist. Eine Ausnahme sollte nie passieren, während ein Fehler passieren könnte. Der beste Weg, um den Unterschied zwischen Fehler und veranschaulichen und eine Ausnahme ist das folgende Beispiel, das zeigt, wie eine Ausnahme verwendet werden können, um einen Fehler erfassen werden.

Hinweis In diesem Beispiel hätte kurz und bündig geschrieben, die andere Stichworte, aber der Punkt ist einfach der Unterschied zwischen der Verwendung einer Entscheidung für eine nicht definierte Variable zu testen und mit einer Ausnahme, dass, wenn die Variable nicht definiert geschieht, führt zu zeigen.

var func; try (func ();) catch (e) (func = Standard; func ();)

Die Ausnahme Beispiel zeigt, wie ein Exception-Handler versuchen (und fangen Stichworte) können verwendet werden, um eine Ausnahme, wenn die Funktion Variable nicht auf ein Verfahren zugeordnet fangen. Aufruf Funktion wird eine Ausnahme zu generieren und lösen Sie den Code in der catch-Block. In der catch-Block die Ausnahme ist, ist die Variable, Funktion auf Standardwerte-Funktion, die Werke und aufgerufen wird. Mit einer Ausnahme Block auf diese Weise falsch ist, weil der Code wie es geschrieben steht erwartet, dass die Funktion möglicherweise nicht zugeordnet werden. Wenn es eine Erwartung Funktion nicht zugewiesen werden, wird der Code geschrieben werden sollen, um dies widerspiegeln. Eine bessere Möglichkeit, den gleichen Code zu schreiben, ist wie folgt:

var func; if (typeof (func)! = "function") (func = default;) func ();

In dem Beispiel-Code neu geschrieben, die Prüfung der Funktion überprüft um sicherzustellen, dass eine Funktion func Referenzierung ist. Wenn Funktionen nicht auf eine Funktion, dann Funktion zugeordnet ist die Standard-Funktion "Standard". Dann, wenn Funktion aufgerufen wird, wird keine Ausnahme generiert werden. Wenn Sie Code schreiben, Fehler und Ausnahmen erzeugt werden soll, und Sie werden eine Strategie, um mit ihnen zu tun haben. Beachten Sie die folgenden Punkte beachten, wenn Sie einen Fehler und Ausnahme-Strategie entwickeln:

• Be-und Verarbeitung einer HTML-Seite besteht aus zwei Phasen: HTML-Seite, die Initialisierung und Durchführung HTML-Seite.

• Während der Initialisierung HTML-Seite zu tun, nicht aktivieren und Exception-Fehler-Strategie in diesem Fall könnte unvorhersehbare Folgen haben.

• Initialisieren Sie die Fehler-und Exception-Handling-Strategie im window.onload Methode.

• Gehen Sie nicht davon, dass es sich um nur ein Stück Code, der von der window.onload-Methode aufgerufen werden. Verwenden Sie ein Delegierter mehrere Funktionen können aufgerufen werden.

• Fehler und Ausnahmen sind nicht dasselbe. Fehler zu rechnen ist und behandelt werden, aber Ausnahmen kann es nicht.

• Sie können einen globalen Exception-Handler definieren, durch die Umsetzung der window.error Methode.

• Um die lokale Behandlung von Ausnahmen, können Sie versuchen, ein Block zu fangen.

Ein Artikel eingereicht von Sonja Lande


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Die Einführung eines Fehler-und Exception Handling-Strategie" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 116 users browsing the articles directory   


  

|