O operador de controle erro é @. Este é acrescentada para a frente da expressões tão variáveis, funções e incluem as chamadas.
No entanto, você não pode usar o operador de controle de erro para que algo é declarado assim adicioná-lo na frente de uma função ou definição de classe.
Futhermore este operador só suprime as mensagens de uma expressão, não suprimir excepções , estes irão ainda ser jogado como normal. Um exemplo deste em acção é mostrado abaixo.
Assim, o código acima irá assegurar que nenhum aviso ou avisos são jogados pela função acima.
No entanto você precisa ter cuidado para que o operador controle de erro não é abusado, ele deve ser usado para impedir erros que estão sendo jogados onde você sabe que é seguro ignorar não-los como uma forma geral de ignorar os problemas potenciais, à custa de escrever defensiva código .
O código acima verifica se uma variável é definida antes de atribuí-la ao nome de $ porque o programador não tem certeza se ele vai ser definido, por isso quer deixar uma mensagem de erro aparece. No entanto, este erro pode ser ignorado usando o operador de controle de erro assim:
Unfortunatley usando o método de supressão de erro é duas vezes mais lento, como o isset. Portanto, você não deve usar o operador de controle de erro, como um corte curto em torno testes de lógica de programação defensivas
Você também pode esconder erors geralmente usando a função error_reporting para um script.
Esta função irá restringir o tipo de erros são mostrados
O código acima desliga todo o relatório de erros para um script, porém você também pode permitir que certos tipos de erros usando operadores bit a bit juntamente com os tipos de erro.
| Valor | Constante | Descrição |
|---|---|---|
| 1 | E_ERROR | Utilizar esta opção irá suprimir quaisquer erros fatais, são erros que o script não pode continuar normalmente. |
| 2 | E_WARNING | Esta opção permite que você suprimir avisos, que não são fatais, mas são problemas de detalhe com o código, o que pode em certas circunstâncias, ser graves. |
| 4 | E_PARSE | Esta opção permite que você para suprimir erros de análise, que são erros que ocorrem quando o PHP tenta analisar o script durante a compilação, mas falha por algum motivo. |
| 8 | E_NOTICE | Indica que o script encontrou alguma coisa que poderia ser um erro, mas poderia acontecer normalmente ao executar um script. |
Portanto usando os valores acima diferentes mensagens de erro pode ser suppresed como mostrado abaixo:
Isso irá reportar erros fatais e avisos
Relatórios de tudo, exceto avisos. Portanto, você pode adicionar exclusões como muitos para um script na forma acima, como você gosta de usar o operador |.
Recordar que enquanto os erros Supressing pode, em alguns casos, ser necessário, é sempre melhor primeiro tentar impedir o erro, em vez de apenas suprimir. Isso deve fazer seu script mais eficiente.