Чтобы проверить, было ли определено соединение, я бы использовал код, подобный следующему.
if ($connections = Database::getAllConnectionInfo() && isset($connections['default']['sqlite'])) {
// Соединение установлено.
}
База данных::getConnection()
возвращает объект соединения, и он может вернуть объект для основного/по умолчанию сервера, когда запрошенная информация предназначена для игнорируемого соединения или запрошенное соединение не определено.
// Если запрошенная цель не существует или если она игнорируется, мы отступаем
// к цели по умолчанию. Цель обычно либо "по умолчанию", либо
// "реплика", указывающая на использование реплики SQL-сервера, если она доступна. Если
// это недоступно, тогда сервер по умолчанию/основной является правильным сервером
// использовать.
if (!empty(self::$ignoreTargets[$key][$target]) || !isset(self::$databaseInfo[$key][$target])) {
$цель = 'по умолчанию';
}
if (!isset(self::$connections[$key][$target])) {
// При необходимости открывается новое соединение.
self::$connections[$key][$target] = self::openConnection($key, $target);
}
Это означает, что ожидание исключения из База данных::getConnection()
когда соединение не определено, это неправильно.