В PHP существуют различные уровни ошибок, которые помогают разработчикам выявлять и исправлять проблемы в коде. Эти уровни ошибок задаются с помощью констант и управляются функцией
error_reporting(). Рассмотрим основные уровни ошибок:🚩Основные уровни ошибок в PHP
🟠E_ERROR (фатальная ошибка, код: 1)
Критическая ошибка, которая приводит к завершению работы скрипта.
Например, вызов несуществующей функции
someUndefinedFunction(); // Вызовет E_ERROR
🟠E_WARNING (предупреждение, код: 2)
Не фатальная ошибка, скрипт продолжит выполнение.
Например, деление на ноль или использование
include() для несуществующего файла:echo 10 / 0; // Вызовет E_WARNING
🟠E_PARSE (ошибка парсинга, код: 4)
Ошибка синтаксиса в коде, обнаруживаемая на этапе компиляции.
Например, забытая точка с запятой:
echo "Hello" // Отсутствует ;
🟠E_NOTICE (замечание, код: 8)
Сообщает о некритичных ошибках, например, об использовании неинициализированной переменной:
echo $undefinedVariable; // Вызовет E_NOTICE
🟠E_CORE_ERROR (фатальная ошибка ядра, код: 16)
Аналогична
E_ERROR, но возникает на этапе загрузки PHP. 🟠E_CORE_WARNING (предупреждение ядра, код: 32)
Аналогична
E_WARNING, но на этапе загрузки PHP. 🟠E_COMPILE_ERROR (ошибка компиляции, код: 64)
Ошибки, связанные с компиляцией скрипта, например, при ошибке в
require. 🟠E_COMPILE_WARNING (предупреждение компиляции, код: 128)
Предупреждения компилятора.
🟠E_USER_ERROR (пользовательская фатальная ошибка, код: 256)
Вызывается вручную с помощью
trigger_error(): trigger_error("Критическая ошибка!", E_USER_ERROR);🟠E_USER_WARNING (пользовательское предупреждение, код: 512)
Аналогично
E_WARNING, но создаётся пользователем. 🟠E_USER_NOTICE (пользовательское замечание, код: 1024)
Аналогично
E_NOTICE, но вызывается вручную. 🟠E_STRICT (строгие предупреждения, код: 2048)
Сообщает о потенциальных проблемах совместимости.
🟠E_RECOVERABLE_ERROR (обрабатываемая фатальная ошибка, код: 4096)
Фатальная ошибка, которую можно обработать через
set_error_handler(). 🟠E_DEPRECATED (предупреждение об устаревших функциях, код: 8192)
Указывает, что используется устаревшая функция.
🟠E_USER_DEPRECATED (пользовательское предупреждение об устаревании, код: 16384)
Вызывается пользователем через
trigger_error(). 🚩Как управлять уровнями ошибок?
PHP позволяет включать или выключать определённые ошибки с помощью
error_reporting()error_reporting(E_ALL); // Включить все ошибки
error_reporting(0); // Отключить вывод ошибок
error_reporting(E_ERROR | E_WARNING); // Только критические ошибки и предупреждения
Также можно использовать
display_errors для отображения ошибок в браузереini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);Ставь 👍 и забирай 📚 Базу знаний