| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Глава 15. Обработка ошибокВ РНР есть несколько типов ошибок и предупреждений: Таблица 15-1. Типы ошибок PHP
Вышеуказанные значения (цифровые или символьные) используются для построения битовой маски, которая специфицирует выводимое сообщение об ошибке. Вы можете использовать битовые операции для маскирования определённых типов ошибок. Обратите внимание, что только '|', '~', '!' и '&' будут понятны в php.ini и что никакие битовые операции не будут понятны в php3.ini. В PHP 4 значением по умолчанию для error_reporting будет E_ALL & ~E_NOTICE, что означает отображение всех ошибок и предупреждений, которые не имеют уровень E_NOTICE-level. В PHP 3 значение по умолчанию (E_ERROR | E_WARNING | E_PARSE) означает то же самое. Заметьте, однако, что, поскольку константы не поддерживаются в PHP 3 в файле php3.ini, установка error_reporting должна выполняться цифрами; то есть 7 по умолчанию. Начальное значение может быть изменено в ini-файле директивой error_reporting, в вашем Apache httpd.conf-файле директивой php_error_reporting (php3_error_reporting для PHP 3) и, наконец, оно может быть установлено на этапе прогона скрипта функцией error_reporting().
Все выражения РНР могут также вызываться с префиксом "@", который отключает сообщения об ошибках для данного конкретного выражения. Если ошибка возникает в ходе вычисления такого выражения и track_errors включена, вы можете найти сообщение об ошибке в глобальной переменной $php_errormsg.
Ниже дан пример использования возможностей РНР по обработке ошибок. Мы определяем функцию обработки ошибок, которая записывает лог-информацию в файл (используя XML-формат) и уведомляет разработчика по e-mail при возникновении критической ошибки в логике.
Это лишь простой пример, показывающий, как использовать Функции обработки ошибок и логинга. См. также error_reporting(), error_log(), set_error_handler(), restore_error_handler(), trigger_error(), user_error() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|