Váš kód je ve vlastním jmenném prostoru:
namespace StatCollector;
takže tento kód:
catch (Exception $ex)
hledá třídu výjimky \StatCollector\Exception , což není to, co je vyvoláno:\Exception je.
Od Error a Exception třídy jsou v kořenovém adresáři jmenného prostoru, musíte udělat:
catch (\Exception $ex)
a/nebo:
catch (\Error $ex)
nebo jen:
catch (\Throwable $t)
pak také sledujte Bill Karwin's rada výše.