Fehler / Fehlerbehandlung

Es gibt verschiedene Fehlertypen. Globale sind:

  • EvalError greift, wenn bei eval ein Fehler auftritt
  • SyntaxError greift, wenn bei eval oder einem regulären Ausdrück ein Syntaxfehler vorhanden ist
  • RangeError greift, wenn eine numerische Variable oder ein Parameter außerhalb des Gültigkeitsbereichs liegt
  • TypeError greift, wenn eine Variable oder ein Parameter nicht valide ist
  • ReferenceError greift, wenn beim Zugriff auf eine Variable oder Funktion selbige nicht vorhanden ist

Ein Syntaxfehler ist ein Fehler der durch Fehler in der „Grammatik“ der Programmiersprache auftritt. So ist zum Beispiel das Vergessen einer Klammer ein Syntaxfehler. Der Browser führt das Programm bis zum Fehler aus und bricht dann ab.

Laufzeitfehler treten erst beim Ausführen des Programms auf. Dies setzt voraus das vorher kein Syntaxfehler aufgetreten ist. Eine Ursache kann zum Beispiel eine falsche Eingabe eines Users sein.

Weiterhin gibt es Semantik Fehler. Diese werden auch als logische Fehler bezeichnet. Bei diesen ist das Programm problemlos ausführbar aber ergibt ein falsches Ergebnis. Als Beispiel: es sollen zwei Werte addiert werden. Durch die Definition als String wird dies nicht durchgeführt. Aber es tritt auch kein Fehler auf.

Ein Hinweis auf einen Fehler kann eine leere Webseite sein.

Eine einfache Variante um einen Fehler abzufangen bietet der try-catch Codeblock.

try {
Fehler tritt auf 
}

catch (error) {
Fehlerbehandlung }

Über finally kann Code definiert werden der immer ausgeführt wird. Egal ob ein Fehler auftritt oder nicht.

try {
Fehler tritt auf 
}
catch (error) {
Fehlerbehandlung 
}
finally { 
Der code wird auf jeden Fall ausgeführt, egal ob ein Feher auftritt oder nicht.
}

Um eine Fehlermeldung wie NaN (Not a Number) abzufangen kann eine einfache If-Funktion helfen:

function beispiel(x) {
  if (isNaN(x)) {
    return 'Not a Number! Bitte eine Zahl eingeben';
  }

Weiter zur Arbeit mit Formularen