Ошибки в PHP


В PHP есть несколько уровней ошибок. Самая низкая — уровень парсинга (например,  нет точки с запятой).

Уровни ошибок в PHP:

  1. E_PARSE — не началось исполнение кода, например, забыли ;
  2. E_ERROR — ошибка исполнения; исполнение кода останавливается на моменте ошибки; пример ошибки — забыли задать значение функции
  3. E_WARNING — предупреждение, например, define(«name»); // нужно два параметра
  4. E_NOTICE — некритичные замечания; пример, $num = "1"; unset($num); echo $num;
  5. E_DEPRECATED — для предупреждения устаревших функций, которые уберут в новых версиях PHP; появилась в 5.3

С ошибками все не так просто. Пример:

<?
$gold = «100»
echo $gold;
?>

Ошибку выдаст в 3 строке, а не во второй; т.к. для интерпретатора все что до точки с запятой — одна команда. Отсюда правило:

Если мы не видим ошибку в указанной строке — ошибка на одной из предыдущих строк.

Вывод ошибок регулируется в директивах php.ini:

  • вывод ошибок в браузере
    display _errors = On
  • ошибки каких урвоней можно показывать; для разработки обычно используется:
    error_reporting = E_ALL & ~E_NOTICE // показывает все ошибки, кроме замечаний.

Есть специальные функции, чтобы переназначить вывод ошибок прямо из кода, не используя php.ini, например:

error_reporting(E_ALL); // вывод всех ошибок
error_reporting(0); // отключаем вывод всех ошибок
error_reporting(E_ALL & ~E_NOTICE); // сообщения обо всех ошибках, кроме E_NOTICE


Запись опубликована в рубрике PHP. Добавьте в закладки постоянную ссылку.

Добавить комментарий

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.