Twój kod znajduje się w niestandardowej przestrzeni nazw:
namespace StatCollector;
więc ten kod:
catch (Exception $ex)
szuka klasy wyjątku \StatCollector\Exception
, co nie jest tym, co jest wyrzucane:\Exception
jest.
Ponieważ Error
i Exception
klasy są w głównym przestrzeń nazw, musisz zrobić:
catch (\Exception $ex)
i/lub:
catch (\Error $ex)
lub po prostu:
catch (\Throwable $t)
następnie śledź także Bill Karwin porady powyżej.