ExtendedCustomConnection extends Connection
{
/** ***/
public function changeDatabase(){
if ($this->isConnected())
$this->close();
$config_f = Yaml::parseFile(DIR.'/../../../config.yaml');
$params['dbname'] = $config_f['connections']['db'];
$params['host'] = $config_f['connections']['address'];
$params['port'] = $config_f['connections']['port'];
$params['user'] = $config_f['connections']['username'];
$params['password'] = $config_f['connections']['password'];
try {
parent::__construct(
$params,
$this->_driver,
$this->_config,
$this->_eventManager
);
} catch (DBALException $e) {
}
}
}
Далее в контролере вызываеться переподключение к базе:
try {
$connection->changeDatabase();
} catch (DBALException $e){
$err = $e->getMessage();
}
$ping=$connection->ping();
```
Предполагается что будет возвращаться статус подключения и текст ошибки , но приходит 500 страничка ошибкой.
Почему try... catch... не срабатывает?
сделайте catch Throwable и проверьте тип исключения
Xdebug не помогает?
Его еще надо установить
А при чем здесь xdebug и чем он поможет?
Проследить путь выполнения запроса.
try { $connection->changeDatabase(); } catch (\Throwable $t){ $err = $t->getMessage(); } $ping=$connection->ping(); Результат тотже
значит оно не бросает исключение
Обсуждают сегодня