Operadores
de
controle
de
erro
O
PHP
suporta
um
operador
de
controle
de
erro
:
o
sinal
'
arroba
'
(@
)
.
Quando
ele
precede
uma
expressão
em
PHP
,
qualquer
mensagem
de
erro
que
possa
ser
gerada
por
aquela
expressão
será
ignorada
.
Se
o
recurso
track_errors
estiver
habilitado
,
qualquer
mensagem
de
erro
gerada
pela
expressão
será
gravada
na
variável
global
$php_errormsg
.
Esta
variável
será
sobrescrita
em
cada
erro
,
assim
verifique-a
constantemente
se
você
quiser
usá-la
.
Nota
:
O
operador
@
funciona
somente
em
expressões
.
Uma
regra
simples
para
lembrar
disso
:
se
você
pode
pegar
o
valor
de
alguma
coisa
,
você
pode
prefixar
isso
com
o
@
.
Assim
,
você
pode
prefixar
chamadas
de
variáveis
,
funções
e
include(
)
s
,
constantes
e
afins
.
Você
não
pode
prefixar
definições
de
funções
ou
classe
,
estruturas
condicionais
como
o
if
,
foreach
e
assim
por
diante
.
Veja
também
:
error_reporting(
)
.
Nota
:
O
prefixo
de
controle
de
erro
"
@
"
não
desabilita
mensagens
que
são
resultado
de
erros
de
interpretação
(parse
errors
)
.
Atenção
|
Atualmente
,
o
operador
de
controle
de
erro
"
@
"
sempre
desativa
mensagens
de
erro
,
mesmo
para
erros
críticos
,
que
terminam
a
execução
de
scripts
.
Além
de
outras
coisas
,
isto
significa
que
se
você
usar
"
@
"
para
suprimir
erros
de
certas
funções
e
elas
não
estiverem
disponíveis
ou
com
tipos
incorretos
,
o
script
vai
parar
exatamente
aí
sem
nenhuma
indicação
da
razão
.
|