Thread Fehlerbehandlung in Scripten: bevorzugte Methode (2 answers)
Opened by pktm at 2005-02-25 19:19

steffenw
 2005-02-25 21:53
#4505 #4505
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Fehlerbehandlung ist das A und O jedes Programms, nur Perl macht es Dir mehr als einfach. Mal etwas grundsätzliches: Wenn es ein "if" gibt, dann gibt es auch immer!!! ein "else". Es kann sein, daß das else fast nie auftritt aber irgendwann ist es einmal soweit. Du mußt also immer alle Varianten irgendwie abfangen. Nur so wird Dein Script stabil und vor allem sicher. Der einfachste Weg ist die "...", wenn Dir nichts besseres einfällt. Ich schreibe erkannte Fehler dann immer noch in das Logfile zu dem Script. Gerade bei Webanwendungen kannst Du dann recht gut nachvollziehen, was da passiert ist. So blöd wie User Eingaben machen, kann man manchmal gar nicht denken. Also gehören alle Paramter mit ins Logfile, daß Du die Situaltion nachstellen kannst, um den Fehler zu beheben.

Ein Weg zur Fehlerbehandlung sind auch eigene Module, objektorientierte sind besonders leicht zu handhaben. Diese haben eine abgeschlossene Funktion, man kann sie in einer Testumgebung sehr gut prüfen. Wenn diese sehr fehlerresitent programmiert sind, kann man sich viel Arbeit im eigentlichen Script sparen. Vor allen Dingen, wenn man sie mehrfach verwendet, lohnt sich die Arbeit spätestens.

Mit dieser Strategie verfahre ich sehr gut. Was ich bisher programmiert habe, läuft sehr stabil. Kleine Fehlerlies bemerke ich durch die Logfiles oft bevor überhaupt ein User auf die Idee kommt, den Telefonhörer in die Hand zu nehmen.

Ob Du die Fehler zum User schickst oder nicht, ist Deine Sache. Eigentlich reicht es zu, wenn der User sieht, daß etwas schief gegangen ist. Er kann den Fehler sowieso nicht beheben. Für ihn ist höchstens interessant, wenn er schon viel Zeit in Formulare o.ä. gesteckt hat, daß Du solche Dinge speicherst, daß Du die Daten wieder regenerieren kannst. Gehe also fair mit den Usern um.
$SIG{USER} = sub {love 'Perl' or die};

View full thread Fehlerbehandlung in Scripten: bevorzugte Methode