Die 5 häufigsten Programmier-Fehler
Jeder kennt sie, jeder hasst sie. Bugs, kleine Fehler die aus der gerade so ordentlich-programmierten und gut designten Seite eine hässliche Fehlermeldung machen. Was kann man gegen sie tun, gibt es einen Weg sie zu besiegen, oder werden sie weiterhin das Leben vieler Programmierer belasten.
Spass beiseite: Natürlich gibt es keinen Weg alle Fehler zu verhindern, denn diese gehören einfach zum Programmieren dazu. Aber trotzdem gibt es besonders dumme und nervige Fehler, die einfach zu verhindern sind. Hier einmal die Top-5 aus meiner Erfahrung, wenn euch noch etwas dazu einfällt: Dafür gibt es die Kommentar-Funktion.
- Internal Server Error: Wer kennt ihn nicht, den bösen Code 500. Dieser Fehler ist besonders schwer zu debuggen, da er eigentlich nichts aussagt, außer: Es gibt einen Fehler. Daher gibt es auch gleich mehrere Mögliche lösungen:
- Die Rechte des Skriptes müssen für den ausführenden (also den Server) auf “Ausführen erlaubt” stehen. Also: Mit dem FTP-Programm checken.
- Die Datei muss in dem Modus ASCII des FTP-Programms hochgeladen worden sein (oder automatisch, wenn existent). Gegebenenfalls einfach nocheinmal hochladen.
- Was bei PHP-Skripten automatisch passiert, muss bei einigen Sprachen wie z.B. Perl immernoch von Hand gemacht werden: Ja, ich spreche von der Ausgabe des Headers. Ein einfaches print “Content-Type:text/html\n\n”; wirkt oft Wunder!
- Oft führen auch einfache Syntax-Fehler zum berühmt-berüchtigen Code 500. Da hilft nur Error-Log ansehen, bzw. unter Perl ein use CGI::Carp qw(fatalsToBrowser);, wozu man aber wieder das korrekte Modul benötigt.
- Natürlich kann bei einem Perl-Script auch einfach der Pfad zu Perl in der Shebang-Zeile (#!/usr/bin/perl o.ä.) falsch sein. Manchmal wirkt auch der Switch -w (also #!/Dir/…/perl -w).
- Das match’t nicht – Wer oft die Funktion preg_match (oder Konsorten) unter PHP nutzt, saß sicher schon Stunden am ausfeilen fortgeschrittener Regulärer Ausdrücke. Wenn man die Ausdrücke dann z.b. noch mit dem RegexTester geprüft hat, und sie trotzdem nicht wollen, ist das doppelt so ärgerlich. Meistens ist da das böse magic_quotes_gpc im Spiel, und escaped fröhlich alle Quotes die ihm über den Weg laufen, auch wenn diese nicht z.B. an MySQL übergeben werden. So hilft oft ein einfaches stripslashes($string);!
- MySQL wird nicht ausgeführt – Auch wenn es die meisten schon wissen: Oft liegt so ein Fehler nicht an irgendwelchen PHP-Interna’s, sondern einfach am SQL-String. Einfach einmal ausgeben lassen, und selbst durchlesen bzw. in PHPMyAdmin ausführen lassen.
- Headers already sent: Wer eine leere Zeile, oder sogar HTML-Code vor dem öffnedem <? schreibt, bekommt es mit diesem Fehler zu tun. Wie soll man denn auch ein Cookie setzen, nachdem der Header gesandt wurde? Lösung also hier: Leerzeile entfernen ode früher das Cookie setzen!
- Cache geleert? – Der total nervigste Fehler schlechthin: Die Seite ändert sich einfach nicht, obwohl man den Fehler schon längst korrigiert hat. Der Tipp Cache leeren, kommt dann oft fast zu spät..





Kommentare
(verstecken) RSSGib deine Meinung ab!