Но что, если вы поставите @перед trigger_errorфункцией PHP ? Я видел это в некотором коде, но его поведение пока для меня непоследовательно. В некоторых случаях я действительно вижу, что настроенный обработчик ошибок сообщает об ошибке, а в других случаях, кажется, сообщается.
fritzmg 06
2
@Будет временно установлен error_reportingв 0 , но не будет «подавлять» ошибка.
А как насчет функций, которые вы не контролируете, например, почты? Какие еще варианты существуют? Я использую @ прямо сейчас, но было бы здорово, если бы можно было сделать по-другому
Как все говорили, он останавливает вывод ошибок для этой конкретной функции. Однако это сильно снижает производительность, поскольку необходимо дважды изменить настройку отображения ошибок. Я бы рекомендовал НЕ игнорировать предупреждения или ошибки и вместо этого исправлять код.
Спасибо всем за ваши ответы. Этот код не мой, я смотрел на phpBB только из любопытства, поэтому у меня нет проблем с производительностью. :) Еще раз спасибо.
Ответы:
"@" заглушит любые ошибки php, которые может вызвать ваша функция.
источник
@
передtrigger_error
функцией PHP ? Я видел это в некотором коде, но его поведение пока для меня непоследовательно. В некоторых случаях я действительно вижу, что настроенный обработчик ошибок сообщает об ошибке, а в других случаях, кажется, сообщается.@
Будет временно установленerror_reporting
в 0 , но не будет «подавлять» ошибка.Он заглушает ошибки и предупреждения. См. Операторы контроля ошибок .
источник
Как уже было сказано
@
, ошибка (если таковая имеется) не появится.С точки зрения производительности это не рекомендуется.
Что делает php:
Если вы не хотите, чтобы появлялись ошибки, используйте
error_reporting(0);
.Или просто напишите код без ошибок: P
источник
http://www.faqts.com/knowledge_base/view.phtml/aid/18068/fid/38
Все выражения PHP могут вызываться с префиксом «@», который отключает сообщение об ошибках для этого конкретного выражения.
источник
Как все говорили, он останавливает вывод ошибок для этой конкретной функции. Однако это сильно снижает производительность, поскольку необходимо дважды изменить настройку отображения ошибок. Я бы рекомендовал НЕ игнорировать предупреждения или ошибки и вместо этого исправлять код.
источник