This has got to be one of the most frequently updated PHP sites, keep up the good work... "Isso tem que ser um dos locais mais freqüentemente atualizada PHP, mantenha o bom trabalho ..."
Max

Erros suprimindo

Às vezes você quer erros lançados por seu código para ser suprimida, talvez porque você está lidando com isso de outra maneira.

Operador de Controle de Erros

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.

results = @mysql_select ( " SELECT * FROM Users " ) ; $ Resultado = @ mysql_select ("SELECT * FROM usuários");

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 .

name = null ; $ Nome = null;
isset ( $ myname ) ) if (isset ($ meunome))
{
name = $ myname ; $ Name = $ meunome;
}

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:

name = @ $ myname ; $ Name = @ $ meunome;

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

Relatório de erros

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

0 ) ; error_reporting (0);

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:

E_ERROR | E_WARNING ) ; error_reporting (E_ERROR | E_WARNING);

Isso irá reportar erros fatais e avisos

E_NOTICE ) ; error_reporting (E_NOTICE);

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.


Nenhum comentário foi fornecida.
imagem de segurança
Escrito por Dominic Skinner
Última Atualização: 2011/10/25 16:00:38