PHP'de sorunlar için iki paralel sistem vardır: geleneksel hatalar (uyarılar, bildirimler, ölümcül hatalar) ve istisnalar (nesne tabanlı, try/catch ile yakalanabilen). Modern PHP, bunların çoğunu Throwable hiyerarşisi altında birleştirir ve iyi uygulama istisnalara göre davranır.
Geleneksel hata seviyeleri
E_NOTICE → minor issues (e.g. using an undefined variable) — script continues
E_WARNING → non-fatal problems (e.g. include of a missing file) — continues
E_ERROR / Fatal → serious errors (e.g. calling an undefined function) — script HALTS
E_DEPRECATED → use of deprecated features
