Thread MySQL Fehlermeldungen abfangen (12 answers)
Opened by Kean at 2011-11-03 10:42

pq
 2011-11-03 10:50
#153786 #153786
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das ist eigentlich das, was man überlicherweise macht.
*jedes* statement in ein einzelnes eval zu packen und jedesmal $@ abzufragen, ist doch viel zu umständlich.

überleg mal, du hast vermutlich in der regel eine reihe von statements, die voneinander abhängen. wenn eines davon fehlschlägt, macht der rest derstatements und des codes dahinter auch keinen sinn mehr, daher ist es völlig in ordnung, wenn ein eval um einen grösseren block steht. dann dann wird dieser komplett abgebrochen und du bekommst die fehlermeldung des statements, welches fehlgeschlagen ist.

gegenfrage: wenn du im moment jedes statement in ein eval packst, um danach $@ abzufragen, wieso benutzt du dann überhaupt RaiseError? dann könntest du RaiseError auch auf 0 setzen und einfach $dbh->errstr abfragen.

RaiseError ist dafür da, dass man sich eben gerade nicht um jede einzelne Abfrage kümmern muss. man packt das eval um den block, der zusammenhängt und abgebrochen werden soll, falls etwas darin fehlschlägt.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread MySQL Fehlermeldungen abfangen