Hauptmenü

Untermenü

JavaScript - Fehlersuche - Überblick

1. Die Abschnitte

2. Das alte leidige Thema

Ein vernünftiges Debugging, vulgo Fehlersuche, scheint bei Anfängern immer noch Terra incognita zu sein. Darum habe ich bei PHP dazu schon ein Tutorial verfasst. Da es dort um sehr viele grundsätzliche Dinge geht, solltet ihr euch das zuerst zu Gemüte führen. Hier beschäftigen wir uns nur mit speziellen Dingen, da es bei JavaScript ein paar Unterschiede und Besonderheiten gibt.

3. Die Daten

... findet ihr wie gehabt rechts unter dem gleichnamigen Punkt. In den einzelnen Abschnitten werde ich dezidiert auf die entsprechenden HTML-Dateien hinweisen. Ach ja, manchmal nutze ich eine Datei für mehrere Beispiele. Da müsst ihr dann einfach die Codeabschnitte auskommentieren oder die Kommentarzeichen entfernen. Aber das solltet ihr mittlerweile können.

4. Fehlertypen

Abgesehen von den obligatorischen logischen Fehlern gibt es im Gegensatz zu PHP bei JavaScript keine Unterscheidung zwischen schwerwiegenden und nicht ganz so schlimmen Fehlern. Und man hat auch keinen Einfluss darauf, wie die Auswirkungen sind. Denn hier gilt eine einfache Regel.

Fehler ist Fehler und wird bestraft! Knüppelhart und ohne Ausnahme.

Varianten

Hier gibt es neben den logischen Fehlern eigentlich nur vier Möglichkeiten, die sich teilweise aus der Arbeitsweise von JavaScript ergeben.

Im ersten Fall habt ihr euch also einfach nicht an die Syntaxregeln gehalten. Ist nicht anders als in PHP auch. Zum zweiten sage ich nichts, das ist eindeutig. Interessanter dagegen ist der dritte Fall. Da ist der Code zwar korrekt, aber ihr wollt auf ein HTML-Element(!) zugreifen, das nicht vorhanden ist. Und das führt unweigerlich zu einem Abbruch des gesamten Scriptes.

Sehr gerne wird auch der Fehler gemacht, auf etwas eine Funktion/Methode anzuwenden, die dafür nicht geeignet ist. Das ist dann die vierte und letzte Möglichkeit. Ein Beispiel dafür wäre eine Methode des String-Objektes, das man auf etwas anwendet, das keine(!) Zeichenkette ist. Und auch hier knallt es dann.

5. Testausgaben

... kann man in JavaScript so erst mal nur über die alert-Anweisung ausgeben. Leider ist das nicht so prickelnd, da besonders der Internet Explorer nicht so wahnes auskunftsfreudig ist. So ist es bei diesem Browser unmöglich, den Typ eines Objektes herauszufinden. Stattdessen bekommt man da immer nur ein object, was bei der Fehlersuche natürlich ungemein hilfreich ist.

Außerdem ist die Angabe der fehlerhaften Zeile auf gut Deutsch gesagt unter aller Sau. Ehrlich gesagt weiß ich bis heute noch nicht, nach welchen Kriterien das funktioniert. OK, da sind andere Browser ein wenig mitteilsamer und auch genauer, aber so richtig hilft das auch nicht immer weiter.

6. Das generelle Problem

Im Gegensatz zu PHP muss man in JavaScript auch Ereignisse abfangen. Also wenn zum Beispiel jemand auf etwas klickt. Und das hat dann manchmal gravierende Auswirkungen. Außerdem ist an ein vernünftiges Debugging ohne Hilfsmittel eigentlich nicht möglich.

7. Ein Traum wurde wahr

Lange lange Zeit gab es nichts, aber auch gar nichts, was einem die Arbeit mit JavaScript erleichterte. Den Anfang machte wohl Firefox mit seiner integrierten Fehlerkonsole. Vielleicht war es auch Opera, keine Ahnung. Damit konnte man schon ein wenig arbeiten, aber so richtig ging es erst los, als spezielle Entwicklungstools herausgebracht wurden.

weiter zum nächsten Abschnitt