/** * Throw a PDO Exception based on the last PDO error. */ protected function throwPDOException() { $error_info = $this->dbh->errorInfo(); // We rebuild a message formatted in the same way as PDO. $exception = new \PDOException("SQLSTATE[" . $error_info[0] . "]: General error " . $error_info[1] . ": " . $error_info[2]); $exception->errorInfo = $error_info; throw $exception; }