Fachkonzept - Fehlerarten
Unterschiedliche Arten von Fehlern
Wenn man Programme entwickelt, macht man Fehler. Es gibt dabei verschiedene Arten von Fehlern:
- Syntaxfehler: Syntaxfehler entstehen, wenn man man die Regeln der Programmiersprache nicht beachtet. Wenn es z.B. zu einer öffnenden Klammer keine korrespondierende schließende Klammer gibt, dann ist das ein Syntaxfehler. Syntaxfehler werden vom Compiler erkannt. Man kann das Programm dann also nicht ausführen.
- Laufzeitfehler: Bei einem Laufzeitfehler hat man ein syntaktisch korrektes Programm entwickelt. Während der Laufzeit kommt es aber zu einem Problem, das dazu führt, dass das Programm nicht mehr weiter ausgeführt werden kann. Ein Laufzeitfehler kann z.B. auftreten, wenn das Programm versucht, eine dafür nicht geeignete Zeichenkette in eine Zahl umzuwandeln.
- Semantische Fehler: Bei einem semantischen Fehler hat man ein lauffähiges Programm entwickelt. Das Programm liefert auch Ergebnisse. Es macht allerdings nicht das, was es machen soll. Es gibt dann keine Fehlermeldung. Solche Fehler muss man dann selbst erkennen und beheben.
Syntaxfehler sind relativ einfach zu beheben, da der Compiler entsprechende Fehlermeldungen ausgibt. Man kann ein syntaktisch falsches Programm nicht ausführen.
Semantische Fehler können nur durch sorgfältige Planung und Analyse der Programme vermieden werden. Man kann sich zwar mit Hilfe von KI unterstützen lassen, aber letztlich ist es Aufgabe der Programmentwickler(inne)n, semantische Fehler zu vermeiden. Um semantische Fehler zuverlässing zu vermeiden, müsste man jedes Programm vor der Ausführung mathematisch auf Korrektheit beweisen. Das ist in der Praxis aber nicht machbar.
Laufzeitfehler sind sehr unangenehm, da sie zu Programmabstürzen führen können. Viele Programmiersprachen überlassen es den Programmentwickler(inne)n, die Programme so zu entwickeln, dass sie keine Laufzeitfehler verursachen.
Auch in Elm können Syntaxfehler und semantische Fehler auftreten. Syntaxfehler werden vom Compiler erkannt. Semantische Fehler können nicht automatisch erkannt werden. Laufzeitfehler werden in Elm im Normalfall nicht auftreten, da Elm Fehler als Daten behandelt und damit Laufzeitfehlern vorbeugt.
Laufzeitfehler können in Elm nur in sehr speziellen Situationen auftreten, z.B. wenn eine Funktion sich selbst unendlich oft aufruft.