Php. Собака Злая?

Мне стало интересно, в каких случаях оправдано использование «@» (dog) для подавления ошибок, что позволяет подавлять ошибки не только от операторов, но и заменять вызовы проверок с помощью «isset» ( if (@$_GET[' парам']) .

) Есть несколько способов побороть отображение ошибок.

Например: 1. Оператор «@»: $а = @(57/0); В этом случае мы обходим проверку деления на ноль.

Быстрое решение для ленивого программиста.

Обратите внимание, что это быстрое решение немного медленнее и усложняет отладку кода.

2. Перехват с помощью операторов try.catch try {операторы, в которых могут возникнуть ошибки} catch(Exception $e) {реакция на ошибку} 3. Установите желаемый уровень оповещения.

Если переменные не инициализированы (не существуют), часто обнуляют необходимые error_reporting и display_errors и не заморачиваются с проверками: $b += (int)$_GET['отсутствует переменная']; вместо: if (isset($_GET['переменная'])) { $b += (int)$_GET['переменная']); } Считаете ли вы, что использование "@" указывает на некомпетентность со стороны программиста? Или в некоторых случаях все же оправдано использование этого оператора (fopen, mysql_connect.)? Еще хотелось бы привести пример простой функции, которую я довольно часто использую для проверки наличия индексов в массиве.

Если элемент существует, то он возвращается функцией.

функция chk($array, $i) { return isset($array[$i])? $array[$i]: ноль; } Выглядит так: if ($var = (int) chk($_GET, 'index')) { $б += $вар } И таким образом заодно можно проверить наличие переданной переменной в массиве: if (in_array($var = chk($_GET, 'index'), array('привет', 'мир'))) { .

переменная $var не пуста и присутствует в массиве.

} Буду рад, если кому-нибудь пригодится (: Теги: #php #Чулан

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.