等待PDO连接 - medoo php

When I change the IP of my MySQL connection and run this:

$this->pdo = new PDO($dsn, $this->username, $this->password, $this->option);

The try and catch does not work. Its does not catch that error, PDOException or general exception.

The problem is that I did not get any error or a response from PDO. It is pending for a long time.

How can I get the response immediately if there are no connections?

Full code:

        case 'mysql':

                if ($this->socket) {
                    $dsn = $type . ':unix_socket=' . $this->socket . ';dbname=' . $this->database_name;

                } else {
                    $dsn = $type . ':host=' . $this->server . ($is_port ? ';port=' . $port : '') . ';dbname=' . $this->database_name;

                }
                $commands[] = 'SET SQL_MODE=ANSI_QUOTES';


        if (in_array($type, explode(' ', 'mariadb mysql pgsql sybase mssql')) && $this->charset) {
            $commands[] = "SET NAMES '" . $this->charset . "'";
        }

 //**here is the problem  //
     $this->pdo = new PDO($dsn, $this->username, $this->password, $this->option);


        foreach ($commands as $value) {
            $this->pdo->exec($value);
        }
    }   catch (PDOException $e) {

            echo "Connection to database lost";

            }
            catch (Exception $e) {
               echo "Connection to database lost";
               return;

           }




even if I try from php manual 


$dsn = 'mysql:host=127.0.0.2;port=3306;dbname=dbname';
$username = 'user';
$password = 'pass';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);

$dbh = new PDO($dsn, $username, $password, $options);