PDOExcepions werden bei mir aufgefangen:
try{
$cred = parse_ini_file($this->FILEDIR."/dbcredentials.ini",1);
$cred = $cred['myweb'];
$dbh = new PDO(sprintf("mysql:dbname=%s;host=%s", $cred['base'], $cred['host']),
$cred['user'], $cred['pass'],
array(
PDO::ATTR_TIMEOUT => 2,
));
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbh;
}
catch(PDOException $e){ dd("Keine Verbindung zur DB"); }
wobei dd("Keine Verbindung zur DB");
auch nur diesen Text ausgibt. Nun habe ich einen ErrorHandler gesetzt:
set_error_handler( function($errno, $errstr, $errfile, $errline){
ob_get_clean();
header("HTTP/1.1 502");
header("Content-Type: text/plain");
echo $errstr;
die();
}, E_ALL);
Und seitdem wird nicht die PDOException ausgegeben sondern der hier anfallende $errstr
. Ich halte das für einen Bug, denn meine Funktion dd() erzeugt ja keinen Fehler. Wenn das kein Bug ist, kann ich mir das try/catch auch schenken. Meinung?
MFG