Votre code se trouve dans un espace de noms personnalisé :
namespace StatCollector;
donc ce code :
catch (Exception $ex)
recherche une classe d'exception de \StatCollector\Exception
, qui n'est pas ce qui est lancé :\Exception
est.
Depuis l'Error
et Exception
les classes sont dans la racine espace de noms, vous devez faire :
catch (\Exception $ex)
et/ou :
catch (\Error $ex)
ou juste :
catch (\Throwable $t)
puis suivez également Bill Karwin conseils ci-dessus.