Вход Регистрация
Файл: vendor/doctrine/dbal/src/Driver/API/IBMDB2/ExceptionConverter.php
Строк: 138
<?php

declare(strict_types=1);

namespace 
DoctrineDBALDriverAPIIBMDB2;

use 
DoctrineDBALDriverAPIExceptionConverter as ExceptionConverterInterface;
use 
DoctrineDBALDriverException;
use 
DoctrineDBALExceptionConnectionException;
use 
DoctrineDBALExceptionDriverException;
use 
DoctrineDBALExceptionForeignKeyConstraintViolationException;
use 
DoctrineDBALExceptionInvalidFieldNameException;
use 
DoctrineDBALExceptionNonUniqueFieldNameException;
use 
DoctrineDBALExceptionNotNullConstraintViolationException;
use 
DoctrineDBALExceptionSyntaxErrorException;
use 
DoctrineDBALExceptionTableExistsException;
use 
DoctrineDBALExceptionTableNotFoundException;
use 
DoctrineDBALExceptionUniqueConstraintViolationException;
use 
DoctrineDBALQuery;

/**
 * @internal
 *
 * @link https://www.ibm.com/docs/en/db2/11.5?topic=messages-sql
 */
final class ExceptionConverter implements ExceptionConverterInterface
{
    public function 
convert(Exception $exception, ?Query $query): DriverException
    
{
        switch (
$exception->getCode()) {
            case -
104:
                return new 
SyntaxErrorException($exception$query);

            case -
203:
                return new 
NonUniqueFieldNameException($exception$query);

            case -
204:
                return new 
TableNotFoundException($exception$query);

            case -
206:
                return new 
InvalidFieldNameException($exception$query);

            case -
407:
                return new 
NotNullConstraintViolationException($exception$query);

            case -
530:
            case -
531:
            case -
532:
            case -
20356:
                return new 
ForeignKeyConstraintViolationException($exception$query);

            case -
601:
                return new 
TableExistsException($exception$query);

            case -
803:
                return new 
UniqueConstraintViolationException($exception$query);

            case -
1336:
            case -
30082:
                return new 
ConnectionException($exception$query);
        }

        return new 
DriverException($exception$query);
    }
}
Онлайн: 5
Реклама