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.