Jeder kennt sie und jeder, der anfängt zu programmieren muss sich mit ihnen auseinandersetzen. Die Rede ist von Fehlermeldungen. Vom Programmier-Einsteiger werden sie gefürchtet oder sogar gehasst, für den, der sie aber kennt, sind sie eine unverzichtbare Informationsquelle.
Überblick
Zuerst einmal ist zu erwähnen, dass es unterschiedliche Arten von Fehlermeldungen gibt. Im Großen und Ganzen sind das zwei Arten: Compilermeldungen und Exceptions.
Compilermeldungen erzeugt, wie der Name schon sagt, der Compiler, also der Teil von Delphi, der fürs Übersetzen des Quellcodes in Maschinensprache verantwortlich ist. Diese beziehen sich direkt auf Fehler im Quellcode, z.B. ein vergessenes Semikolon. Compilermeldungen zeigt Delphi per Voreinstellung in einem kleinen Fenster unter dem Quellcode an:
Mit einem Doppelklick auf die jeweilige Meldung springt der Cursor in die Fehlerzeile, die zusätzlich farblich hervorgehoben wird, und zwar direkt hinter die Fehlerstelle. Über [F1] erreicht man außerdem zu jeder Fehlermeldung eine passende Stelle in der Delphi-Hilfe. Dort wird – meist sogar mit Beispiel und möglichen Lösungswegen – der Fehler erklärt und beschrieben. Hat man also eine unbekannte Fehlermeldung vor sich, reicht meist ein kurzer Blick in die Hilfe und der Fehler gehört nicht mehr zu den unbekannten… 😉
Exceptions hingegen tauchen zur Laufzeit auf und zwar immer dann, wenn der Code zwar syntaktisch richtig ist, aber eine so genannte „Ausnahmesituation“ auftritt(exception: eng. ‚Ausnahme‘). Ein Beispiel hierfür ist die Division durch Null. Syntaktisch mag folgender Code richtig sein, trotzdem führt er zu einem Fehler – zu einer Exception:
1 | Ergebnis := 100 div StrToInt(Edit1.Text); |
Das geht nämlich nur so lange gut, bis der User eine Null eingibt. Dann tritt die oben genannte „Ausnahmesituation“ ein. Ebenso gibt es eine Exception, wenn der User Buchstaben oder auch gar nichts eingibt. Normalerweise funktioniert der Code also. Nur eben in bestimmten Fällen nicht…
Tritt eine Exception auf, so erscheint, wenn das Programm in der IDE läuft folgende Meldung:
|
Auch hier landet man mit einem kurzen Tastendruck auf [F1] an der entsprechenden Stelle in der Hilfe und erfährt, was es mit der Exception auf sich hat.
Klickt man die Meldung weg, so wird auch hier, wie bei den Compilermeldungen meist die Fehlerstelle angezeigt. Oft landet man aber auch etwas hinter der eigentlichen Fehlerstelle. Findet man den Fehler nicht direkt, so leistet in so einem Fall der Debugger gute Dienste…
Lässt man das Programm nun mit F9 weiterlaufen erscheint die etwas weniger informative Fehlermeldung für den User:
Diese erscheint – im Gegensatz zur ersten – auch, wenn man das Programm außerhalb der IDE aufruft.