создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

PHP. Руководство по PHP. 2005

Оператор управления ошибками

Пред.

Глава 15. Операторы

След.

Оператор управления ошибками

PHP поддерживает один оператор управления ошибками: знак @.

В случае, если он предшествует какому-либо выражению в PHP-коде, любые

сообщения об ошибках, генерируемые этим выражением, будут проигнорированы.

В случае, если установлена опция track_errors,

все генерируемые сообщения об ошибках будут сохраняться в переменной $php_errormsg. Эта переменная будет перезаписываться при возникновении каждой новой ошибки,

поэтому в случае необходимости проверяйте ее сразу же.

<?php

// Преднамеренная ошибка при работе с файлами

$my_file = @file ('non_existent_file') or

die ("Failed opening file: error was '$php_errormsg'");

// работает для любых выражений, а не только для функций

$value = @$cache[$key];

// В случае если ключа $key нет, сообщение об ошибке не будет отображено

?>

Замечание: Оператор @ работает только с

выражениями.

Есть простое правило: если произвольная языковая конструкция возвращает

значение, значит вы можете использовать предшествующий ей оператор

@. Например, вы можете использовать @ перед

именем переменной, произвольной функцией или вызовом include(),

константой и так далее. В то же время вы не можете использовать этот оператор

перед определением функции или класса, условными конструкциями, такими как if или foreach.

Также ознакомьтесь с описанием функции error_reporting()

и соответствующим разделом документации Обработка ошибок и функции логирования.

Замечание:

Оператор @ не подавляет вывод ошибок, возникающих на

стадии синтаксического разбора скрипта.

Внимание
- На сегодняшний день оператор @ подавляет

вывод сообщений даже о критических ошибках прерывающих работу

скрипта. Помимо всего прочего, это означает, что если вы использовали

@ для подавления ошибок, возникающих при работе какой-либо

функции, в случае если она недоступна или написана неправильно, дальнейшая

работа скрипта будет остановлена без каких-либо уведомлений.

Пред.

Начало

След.

Операторы сравнения

Уровень выше

Операторы исполнения

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting