/** * Creates a new DatabaseException. * * @param string $message error message * @param Database $db affected db object * @param PreparedStatement $preparedStatement affected prepared statement */ public function __construct($message, Database $db, PreparedStatement $preparedStatement = null) { $this->db = $db; $this->DBType = $db->getDBType(); $this->preparedStatement = $preparedStatement; // prefer errors from prepared statement if ($this->preparedStatement !== null && $this->preparedStatement->getErrorNumber()) { $this->errorNumber = $this->preparedStatement->getErrorNumber(); $this->errorDesc = $this->preparedStatement->getErrorDesc(); } else { $this->errorNumber = $this->db->getErrorNumber(); $this->errorDesc = $this->db->getErrorDesc(); } parent::__construct($message, intval($this->errorNumber)); }
/** * Creates a new PackageArchiveValidationException. * * @param integer $code * @param array<string> $details */ public function __construct($code, array $details = array()) { $this->details = $details; parent::__construct($this->getLegacyMessage($code), $code); }