pl: set_error_handler und Exception

Beitrag lesen

problematische Seite

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