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


Уровни ошибок в РНР

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

Уровни сообщений об ошибках можно устанавливать с помощью функции

erroi\_reporting(). С помощью функции trigger_error() можно сообщать об ошибках на определенных уровнях. Подробнее мы рассмотрим эти функции в следующем разделе. Уровни сообщений об ошибках следующие:

♦ Ошибка синтаксического анализа

♦ Неисправимая ошибка (fatal)

♦ Предупреждение (warning)

♦ Уведомление (notice)

♦ Уровни ошибки ядра (core error levels)

♦ Уровни ошибки компиляции (compile error levels) Рассмотрим указанные уровни ошибок более подробно.

Ошибки синтаксического анализа

Сообщения об ошибках этой группы возникают в результате синтаксическо­го анализа. РНРЗ выполняет сценарии построчно, поэтому синтаксический анализатор РНРЗ сообщает об этих ошибках только тогда, когда встречает ошибочный оператор. Однако РНР4 сообщает о синтаксических ошибках на более ранней стадии компиляции сценария. В РНР4 сценарии с синтакси­ческими ошибками не компилируются и тем более не выполняются. Чтобы включить сообщение об ошибках синтаксического анализа, в качестве аргу­мента функции error_reporting() должна быть указана константа E PARSE.

Неисправимые ошибки

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

Предупреждения

Предупреждение выводится в том случае, когда возникает ситуация, не яв­ляющаяся фатальной и не требующая прекращения выполнения сценария. Например, предупреждение выводится, когда оператор include() не может найти заданный файл. Предупреждение выводится, если логика программы не обрабатывает такую ситуацию. Предупреждение не означает, что среда выполнения в соответствии с логикой программы разумно обработала ошиб­ку. В сценарии должны быть внесены изменения, обеспечивающие про­граммную обработку ситуаций, вызывающих предупреждения. Для того чтобы включить вывод сообщений уровня предупреждений, в качестве аргу­мента функции error_reporting() следует указать константу E WARNING.




Хотите в ближайшее время посетить Санкт-Петербург, тогда вам стоить зайти на наш сайт. У нас вы найдете самые выгодные и обширные предложения по аренде квартир посуточно в СПб различного типа. Более детальная информация у нас на сайте.