Ir para o conteúdo
Knitter

[Resolvido]Como evitar que erros ocorridos em scripts php estraguem a página?

Mensagens Recomendadas

Knitter    101
Knitter

Boas,

Tenho estado a tentar descobrir uma forma de impedir que os erros de um determinado script não seja lançados para o browser cliente mas não tenho uma forma que funcione bem.

Por exemplo, quando se usa a função mail(), caso o mail seja enviado para o servidor smtp a função devolve o valor verdadeiro, caso não seja, devolve o valor falso, para controlo essa informação é suficiente, mas ao mesmo tempo, se o servidor não estiver acessível, além de devolver o valor falso o php envia os erros para o browser. Como posso evitar isso?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jreis    0
jreis

o mais simples é usar a função error_reporting(0);, que vai desactivar por completo a notificação de erros. Colocas isso no inicio do script, ou num sitio onde eventualmente pode ocorrer um erro. Se bem que o ideal é tomar precauções para esses casos, e desactivar apenas a notificacao de erros para um determinado comando. Se nao me engano, qualquer comando pode ser chamado com uma @ antes, de forma a suprimir os erros, por exemplo "@mail(...);".

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

E o uso do @ não suprime o valor que a função devolve? É que, no caso do e-mail, estou a usar o valor de retorno para fazer o controlo de erros e não quero ver esse controlo desaparecer.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Caso @mail(...) não funcione, talvez isto safe assim um bocado à javardolas:

# ...
error_reporting(0);
mail(....);
error_reporting(/*original*/);

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Convidado
Este tópico está fechado a novas respostas.

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade