В РНР существует иерархическая система уровней ошибок:
- E_ERROR: Фатальные ошибки выполнения, которые не могут быть обработаны скриптом. Вызывают немедленное завершение работы.
- E_WARNING: Нефатальные ошибки времени выполнения. Скрипт продолжает работу.
- E_PARSE: Ошибки синтаксиса, обнаруженные парсером.
- E_NOTICE: Уведомления о вещах, которые могут указывать на ошибку, но могут также быть и запланированными (например, обращение к неопределенной переменной). Скрипт продолжает работу.
- E_CORE_ERROR: Фатальные ошибки, которые возникают при начальной загрузке PHP.
- E_CORE_WARNING: Нефатальные ошибки, возникающие при начальной загрузке PHP.
- E_COMPILE_ERROR: Фатальные ошибки, обнаруженные во время компиляции.
- E_COMPILE_WARNING: Нефатальные ошибки, обнаруженные во время компиляции.
- E_USER_ERROR: Фатальная ошибка, сгенерированная пользователем при помощи функции
trigger_error()
.
- E_USER_WARNING: Нефата