PHP имеет две параллельные системы для обработки проблем: традиционные ошибки (предупреждения, уведомления, критические ошибки) и исключения (объектно-ориентированные, перехватываемые с помощью try/catch). Современный PHP объединяет большую часть этого под иерархией Throwable, и рекомендуется использовать исключения.
Традиционные уровни ошибок
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
