summaryrefslogtreecommitdiff
path: root/vendor/doctrine/dbal/src/Driver/PDO/Exception.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/doctrine/dbal/src/Driver/PDO/Exception.php')
-rw-r--r--vendor/doctrine/dbal/src/Driver/PDO/Exception.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/doctrine/dbal/src/Driver/PDO/Exception.php b/vendor/doctrine/dbal/src/Driver/PDO/Exception.php
new file mode 100644
index 0000000..fbb8125
--- /dev/null
+++ b/vendor/doctrine/dbal/src/Driver/PDO/Exception.php
@@ -0,0 +1,30 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\DBAL\Driver\PDO;
6
7use Doctrine\DBAL\Driver\AbstractException;
8use PDOException;
9
10/**
11 * @internal
12 *
13 * @psalm-immutable
14 */
15final class Exception extends AbstractException
16{
17 public static function new(PDOException $exception): self
18 {
19 if ($exception->errorInfo !== null) {
20 [$sqlState, $code] = $exception->errorInfo;
21
22 $code ??= 0;
23 } else {
24 $code = $exception->getCode();
25 $sqlState = null;
26 }
27
28 return new self($exception->getMessage(), $sqlState, $code, $exception);
29 }
30}