FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Hard- und Softwarefragen

PHP-mysqli-> Exception abfangen

PHP-mysqli-> Exception abfangen 2009-02-03 15:12
Pummel
hallo,

ich dachte man könnte in php mysqli function mit einem try-catch-block versehen um so Exceptions abzufangen, wenn bei dem unteren Beispiel die Parameteranzahl nicht stimmt, wird
die Fehlermeldung aber ausgegeben, egal was ich mache…

try{ $mysqli_stmd->bind_result($value, $param){ }catch(Exception $e){ var_dump($e->getMessage()); }
Funktioniert try-catch hier überhaupt nicht?

gruß Pummel

RE: PHP-mysqli-> Exception abfangen 2009-02-03 15:22
Anonymer User
das sieht irgendwie komisch geklammert aus.

RE: PHP-mysqli-> Exception abfangen 2009-02-03 15:43
Anonymer User
In meinem Sourcecode sieht das natürlich in etwa so aus:


try{     $mysqli_stmd->bind_result($value, $param); }catch(Exception $e){    var_dump($e->getMessage()); }
(hab mich nur hier vertippt)

gruß Pummel

RE: PHP-mysqli-> Exception abfangen 2009-02-03 15:44
low_level
… die Fehlermeldung …

Was heißt "die Fehlermeldung"? Ich seh keine.

Wenn Du den Text der Fehlermeldungen im Original mitschickst, bekommst Du im Allgemeinen bessere Antworten auf solche Probleme.

Roland

RE: PHP-mysqli-> Exception abfangen 2009-02-03 15:47
T
also
   var_dump($e->getMessage());
sieht für mich sehr nach 'gib die fehlermeldung aus' aus.

RE: PHP-mysqli-> Exception abfangen 2009-02-03 16:01
Anonymer User
also
   var_dump($e->getMessage());
sieht für mich sehr nach 'gib die fehlermeldung aus' aus.

stimmt aber wenn ich den Quelltext variiere, etwa so:

try{ $mysqli_stmd->bind_result($value, $param); }catch(Exception $e){ }
wird trotzdem jeder Fehler, den ich provoziere - zB. Anzahl der Binding-Paramter passt nicht
zum mysqli-handle, einfach weiterhin ausgegeben!

RE: PHP-mysqli-> Exception abfangen 2009-02-03 16:42
Tzwoenn
Ohne noch viel Ahnung von PHP zu haben vermute ich einfach mal, dass die von dir benutzte Bibliothek keine Exceptions wirft, sondern noch das gute, alte Errorreporting nutzt. Altlasten sei dank, ist es mit OO in PHP noch nicht weit her.

http://de2.php.net/manual/en/language.exceptions.php

RE: PHP-mysqli-> Exception abfangen 2009-02-03 18:12
Popcorn
Ohne noch viel Ahnung von PHP zu haben vermute ich einfach mal, dass die von dir benutzte Bibliothek keine Exceptions wirft, sondern noch das gute, alte Errorreporting nutzt. Altlasten sei dank, ist es mit OO in PHP noch nicht weit her.
Yip, da muss man einmal selbst eine Klasse bauen, die von MySQLi vererbt und sich entsprechende Exceptions bauen. Sonstige Fehlermeldungen muss man dann über die Config oder mit dem @-Operator abfangen. Das ist zwar einmal etwas blöd, aber wenn man einmal seinen fertigen Datenbank-Layer hat, kommt man damit ja auch nicht mehr in direkte Berührung.