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.