Погружение в базы данных PostgreSQL

Данный курс является консолидацией теоретических основ и практических примеров, которые демонстрируют работу операторов и функций SQL в системе управления базами данных PostgreSQL.

Поступить на курс

JSON в PostgreSQL

Курс «JSON в PostgreSQL» познакомит вас с форматом JSON и покажет, как создавать и обрабатывать JSON-данные в СУБД PostgreSQL.

Поступить на курс

XML в PostgreSQL

Курс по изучению и практическому применению расширяемого языка разметки XML (eXtensible Markup Language) в системе управления базами данных PostgreSQL.

Поступить на курс

Оконные функции в PostgreSQL

Курс по изучению и практическому применению оконных функций в системе управления базами данных PostgreSQL.

Поступить на курс

Массивы в PostgreSQL

Курс по изучению и практическому применению массивов (array) в системе управления базами данных PostgreSQL.

Поступить на курс

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

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

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

PHP поддерживает один оператор управления ошибками: знак @. В случае, если он предшествует какому-либо выражению в PHP-коде, любые сообщения об ошибках, генерируемые этим выражением, будут проигнорированы.

Для чего нужен оператор управления ошибками?

Оператор управления ошибками в PHP подавляет вывод сообщений даже о критических ошибках, которые прерывают работу скрипта.

Замечание: Оператор @ работает только с выражениями. Есть простое правило: если что-то возвращает значение, значит вы можете использовать перед ним оператор @. Например, вы можете использовать @ перед именем переменной, произвольной функцией или вызовом include, константой и так далее. В то же время вы не можете использовать этот оператор перед определением функции или класса, условными конструкциями, такими как if, foreach и т.д.

Если вы установили собственную функцию обработки ошибок с помощью set_error_handler(), то она все равно будет вызвана, однако, если внутри этой функции будет вызвана функция error_reporting(), то она вернет 0, если функция, вызвавшая данную ошибку, была подавлена с помощью @.

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

Важный момент: На сегодняшний день оператор @ подавляет вывод сообщений даже о критических ошибках, прерывающих работу скрипта. Помимо всего прочего, это означает, что если вы использовали @ для подавления ошибок, возникающих при работе какой-либо функции, в случае если она недоступна или написана неправильно, дальнейшая работа скрипта будет остановлена без каких-либо уведомлений.

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

<?php
// Преднамеренная ошибка при работе с файлами
$my_file = @file ('non_existent_file') or die ("Ошибка при открытии файла: сообщение об ошибке было таким: '$php_errormsg'");

// работает для любых выражений, а не только для функций
$value = @$cache[$key];
// В случае если ключа $key нет, сообщение об ошибке (notice) не будет отображено

?>

Метки: , .

Записи по теме

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *