Viewing file: DriverException.php (1.41 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Doctrine\DBAL\Exception;
use Doctrine\DBAL\Driver\Exception as TheDriverException; use Doctrine\DBAL\Exception; use Doctrine\DBAL\Query;
use function assert;
/** * Base class for all errors detected in the driver. * * @psalm-immutable */ class DriverException extends Exception implements TheDriverException { /** * The query that triggered the exception, if any. */ private ?Query $query;
/** * @internal * * @param TheDriverException $driverException The DBAL driver exception to chain. * @param Query|null $query The SQL query that triggered the exception, if any. */ public function __construct(TheDriverException $driverException, ?Query $query) { if ($query !== null) { $message = 'An exception occurred while executing a query: ' . $driverException->getMessage(); } else { $message = 'An exception occurred in the driver: ' . $driverException->getMessage(); }
parent::__construct($message, $driverException->getCode(), $driverException);
$this->query = $query; }
/** * {@inheritDoc} */ public function getSQLState() { $previous = $this->getPrevious(); assert($previous instanceof TheDriverException);
return $previous->getSQLState(); }
public function getQuery(): ?Query { return $this->query; } }
|