Аргерих Л. О языке РНР. Часть 1. Страница 126


Уведомления

Среда выполнения часто выводит уведомления, встретив ошибочную ситуа­цию, с которой может справиться самостоятельно. Примером является ис­пользование неинициализированной переменной. Поскольку при выполне­нии операций с такими переменными РНР присваивает им значения по умолчанию, не возникает неисправимых ошибок, требующих прекращения выполнения сценария. Чтобы включить вывод сообщений об ошибках уров­ня в качестве аргумента функции можно указать константу E_N0TICE.

Ошибки ядра

Ошибки ядра генерирует ядро РНР. Функции, определенные пользовате­лем, не должны генерировать сообщений на этих уровнях. Сообщения об ошибках уровня ядра выводятся, если указаны константы E_CORE_ERROR и E_CORE_WARNING.

Ошибки компиляции

На этих уровнях генерирует ошибки машина сценариев Zend. Так же как и ошибки уровня ядра, эти ошибки не должны генерироваться функциями, определенными пользователем. Ошибками уровня компиляции являются E_C0MPILE_ERR0R и E_COMPILE_WARNING, которые аналогичны EERR0R и E_WARNING, за исключением того, что их генерирует машина сценариев Zend.

Пользовательские уровни ошибок

Часто требуется, чтобы приложение генерировало ошибки на ином уровне, нежели перечисленные выше. Это выполняется с помощью пользователь­ских уровней ошибок. Пользовательские уровни ошибок - это E_USER_ERROR, E_USER_WARNING и E_USER_NOTICE. Они аналогичны EERROR, E_WARNING~h EJJ0TICE соответственно. Генерировать ошибки на этом уровне можно с помощью функции однако функции, определенные пользователем, не

должны генерировать ошибки на этих уровнях.

Установка уровней сообщений об ошибках

Хотя вывод сообщений об ошибках может быть полезен во время отладки, показывать сообщения об ошибках конечному пользователю может быть не­обязательно. Уровень сообщений об ошибках можно установить с помощью функции error_reporting(). Объявление функции следующее:

int error_reporting(int level);

Уровень level задается с помощью одной из описанных выше констант Е_. Можно установить одновременно несколько действующих уровней, объеди­няя константы с помощью поразрядного оператора &. Например, сообщения об ошибках уровней уведомления и предупреждений можно включить с по­мощью следующего вызова функции error_reporting():

error_reporting(E_WARNING & EJJOTICE);

Функция error_reporting() возвращает тот уровень сообщений, который был установлен до ее вызова. Это значение можно записать в переменную при из­менении уровня сообщений об ошибках, чтобы позднее восстановить его. Чтобы включить вывод сообщений об ошибках всех уровней, можно вос­пользоваться константой E_ALL. Установка уровня в 0 отключает вывод лю­бых сообщений об ошибках. Обычно правильное решение состоит в том, что­бы установить уровень сообщений об ошибках по максимуму (E_ALL) на этапе разработки, но дать ему значение 0 или другое существенно меньшее значе­ние для рабочего продукта. При установке рабочего продукта ошибки долж­ны корректно обрабатываться и записываться в журнал, а не отображаться. Следующей нашей темой будет обработка и регистрация ошибок.




Если вы все еще задаетесь вопросом что такое источник бесперебойного питания, вам необходимо посетить наш сайт. У нас вы найдете самую полную информацию о преимуществах источника бесперебойного питания во многих областях.