Thread MySQL Fehlermeldungen abfangen
(12 answers)
Opened by Kean at 2011-11-03 10:42
Mehrere Statements in eval{} ist ok, deswegen setzt Du ja den RaiseError.
Du bekommst Jede FM mit, weil beim ersten Fehler, der auftritt, eine Exception geworfen wird und somit die nachfolgenden Statements nicht mehr ausgeführt werden. Und das ist der Unterschied zu $DBI::errstr! Letzterer würde bei einem nachfolgenden fehlerfreien Statement überschrieben werden, $@ jedoch, bleibt im Speicher, solange bis Du im Script darauf reagierst. Bei Transaktionen ein muss, bei kleineren Sachen ein kann, aber hilfreich, weil Du nicht nach Jedem Statement $DBI::errstr abfragen musst. |