как я могу предотвратить автоматическое отображение ошибки pdo в catch - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу использовать try{} catch{} в PDO и отображать пользовательские ошибки в перехвате, но ошибки автоматически отправляются пользователю, а я их не контролирую.

Например, это мой код для подключения кбаза данных

class cn{
    public static function connect( $dbName=NULL ){
        try{
            if( $dbName != NULL )
                $dbName = 'dbname='.$dbName;
            $con = new PDO(
                'mysql:host=localhost;'.$dbName,
                'myuser',
                'mypass',
                [
                    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
                    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION
                ]
            );
        }catch(PDOException $e){
            if($e->getCode() == 1049)
                echo 'not find';
            elseif($e->getCode() == x)
                echo 'ABC';
            elseif($e->getCode() == y)
                echo 'DEF';
            .
            .
            .
            else
                echo 'XYZ';

        }
        return $con;
    }
}

Но ошибки отображаются, как показано на рисунке ниже.

error image

...