Seu código está em um namespace personalizado:
namespace StatCollector;
então este código:
catch (Exception $ex)
está procurando uma classe de exceção de
\StatCollector\Exception
, que não é o que é gerado:\Exception
é. Desde o
Error
e Exception
as classes estão na raiz namespace, você precisa fazer:catch (\Exception $ex)
e/ou:
catch (\Error $ex)
ou apenas:
catch (\Throwable $t)
siga também Bill Karwin's conselho acima.