🤔 Какие уровни ошибок есть в PHP?В 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);Ставь 👍 и забирай 📚 Базу знаний