PHP dispose de deux systèmes parallèles pour les problèmes : les erreurs traditionnelles (avertissements, notifications, erreurs fatales) et les exceptions (basées sur les objets, capturables avec try/catch). PHP moderne unifie une grande partie de cela sous une hiérarchie Throwable, et les bonnes pratiques favorisent les exceptions.
Niveaux d'erreur traditionnels
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
