Hallo,
Ik wil graag de PDO error die ik krijg als er niet kan worden verbonden met de database op het scherm weergeven, maar dan zonder exception. Het is namelijk zo dat bij een exception het uitvoeren van code wordt gestopt. Als ik dan een PDO exception krijg, gaat het via een exception, en dan stopt alles. Dan krijg je soms maar een halve pagina, of een witte pagina met alleen een stukje error tekst.
Dit vraag ik niet omdat ik geregeld pdo errors krijg, maar omdat ik een test programmaatje ben aan het maken dat moet kunnen controleren of er kan worden verbonden met de database.
Dus: hoe handle je een error zodat je die netjes kunt presenteren.
Als je de error catcht dan hoeft de code toch niet te stoppen?

Als ik me niet vergis dan kun je bij PDO een verbindingsfout alleen afvangen via een Exception.
De try/catch is precies gemaakt om te zorgen dat de code niet stopt. Dat is net het punt.

Voer dit eens uit

<?php
echo 'voor de catch<br>';
try {
  $db = new PDO('mysql:host=localhost;dbname=phphulp;charset=utf8', 'root', 'een_volledig_verkeerde_paswoord');
} 
catch(PDOException $ex) {
  echo 'Exception opgevangen: ' . $ex->getMessage() . '<br>';
}
echo 'na de catch<br>';
/*  resultaat:
voor de catch
Exception opgevangen: SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
na de catch
*/
?>



Ik ben vrij gerust dat dit een exception zal triggeren.
En toch zie je dat de code verder wordt uitgevoerd.

Dus, alles wat je doet met pdo steek je binnen 1 try {}. Dan zal de code niet stoppen.

Reageren