Vinzenz Mai: Aktuelle Programmzeile

Beitrag lesen

Hallo

Ich habe ein etwas größeres Script gebastelt, das so an die 150 Datenbankabfragen benötigt. Normalerweise fängt man ja nun Abfragefehler mit "or die $dbh->errstr" oder $sth halt ab.

ist das in Perl wirklich üblich?

Ich möchte jedoch nicht, daß das Script abgebrochen wird. Außerdem will ich langzeitmäßig beobachten, was für Fehler auftreten.

Ein Skript einfach abzubrechen, hat mit Fehlerbehandlung _nichts_ zu tun. In keiner Programmiersprache. Das ist einfach nur schlechter Stil.

Darum habe ich eine Funktion gebastelt, die die Fehler mit Datum in eine Datei loggt.

Das ist grundsätzlich eine gute Idee. Erstens gibt es logische Fehler im eigenen Code, die zu einem Fehler führen können, zweitens gibt es eine Menge Fehler, gerade beim Zugriff auf Dateien und Datenbanken, die erwartet werden können und angemessen behandelt werden sollten. Dem Benutzer sollte eine Rückmeldung gegeben werden, mit denen der Benutzer etwas anfangen kann, die er aber nicht mißbrauchen kann.

Netterweise wird bei die ja immer die #Programmzeile dazugeschrieben, wenn das Programm wegen einem Fehler abgebrochen wird. Das passiert bei meiner Funktion nun nicht. Gibt es irgendeine Variable, die die aktuell bearbeitete Programmzeile enthält? Kann mir da jemand weiterhelfen?

Das scheinst Du ja gefunden zu haben.

Freundliche Grüße

Vinzenz