try {
$this->initDBConnect();
} catch (\Exception $e) {
// Тут залогировали
$this->logger->error('Некоторое сообщение', [некоторые данные]);
// тут выкинули дальше
// или throw new MyAnyException,
// а не просто дальше выкидывать тоже самое
throw $e;
}
Для чего бросать дальше
Например идет процесс оплаты товара, в клиенте выкинулось исключение... мы в слое работы с АПИ платежки поймали исключение и залогировали, но выкинули дальше, чтобы наша система выше поймала, откатила транзакцию и плюнула ошибкой уже своей для слоя выше