+1

Maior Controle de Erros em PHP

criado por Marcelio Leal em 28/04/2004 11:36am
Por mais que um sistema seja submetido à intensa prática de testes, não poderemos afirmar que este está totalmente isento de erros, portanto, é necessário que tenhamos artifícios que tratem os erros com o intuito de auxiliar em sua resolução e dar uma mensagem mais amigável ao usuário do sistema, ou mesmo levá-lo a uma conclusão do que está acontecendo.
O PHP disponibiliza a interface da função que é chamada quando ocorre um erro num script, e proporciona que um programador defina uma função que trabalhe os erros, durante a execução do script. Com isto pode-se criar um log, melhorar a mensagem de erro, redirecionar a navegação do usuário, aumentar e adicionar eventos de erros em determinadas ocasiões, até mesmo criar um modelo de dados que armazene os erros e suas respectivas soluções, tendo assim uma base de conhecimento importante para resolução rápida de erros.
O objetivo deste artigo é implementar uma classe que:
- Registre os erros num arquivo de texto;
- Oculte mensagens de erros indesejadas o máximo possível;
- Redirecione o usuário de acordo com o erro e ocasião;
- Avise o responsável quando ocorrer o primeiro erro do dia, para que ele olhe o log de erros;
A figura 1 mostra a classe Erro que será desenvolvida.
<center></center>
<center>Figura 1 – Classe Erro.</center>

Comentários:

Mostrando 1 - 7 de 7 comentários
muito bem comentado, confuso em algumas partes, mas nada que um olhar mais profundo não resolva. excelente ideia, classe muito util... valeus! :p
03/05/2004 7:37am (~12 anos atrás)

Marcelio Leal disse:
Rodrigo,

Deve-se considerar que, se acontecer um erro fatal o script é interrompido imediatamente.

Portante erros claros de sintaxe e semântica que estão entre os erros fatais, como a chamada de uma função inexistente, interrompe a execução.

Para este tipo de erro, basta você executar uma vez o seu script pra verificar sua valida de e ou mesmo fazer um debug.

Outra coisa que deve ser clara, é que o título do artigo é "Maior controle de erros", o que é realmente possível implementando e incrementando esta classe, mas em nenhum momento, pelo menos até agora, teremos o controle total dos erros, erros fatais ainda são fatais.

Quem quiser utilizar esta classe baixe do link abaixo:
http://www.phpbrasil.com/scripts/script.php/id/1629

Espero ter respondido sua dúvida.

Att,

Marcelio Leal
29/04/2004 5:06pm (~12 anos atrás)

Sinceridade, testei o seu script aqui e de começo tinha achado muuiiittttooo interessante, mas ele "não trata totalmente os erros", chama uma função inexistente dentro do arquivo que inclui a Classe de erro, ele simplesmente ignora, naum grava nada no log, tem algo a dizer a respeito disso??

--
// arquivo teste.php
// incluindo a classe Erro
//include_once dirname(__FILE__)."/erros.php";

$teste ="Marcelio";
//include_once("marcelio.php");
naumn_existe();
hader("location:http://www.papao.net");
--
29/04/2004 3:11pm (~12 anos atrás)

Marcelio Leal disse:
Concordo com vc, a comunidade PHP está crescendo muito em termos de construção de sistemas, utilização de ferramentas, frameworks, etc...
Um exemplo bacana é a I semana de treinamento de software livre do governo federal, está tendo muita procura do PHP e PHP avançado...

O negócio agora é conseguir adotar o PHP nas instituições.

Uma frase pra se pensar:
"Quem disse que algo interpretado não é mais rápido que algo compilado?"

hehehe

Att,

Marcelio Leal
29/04/2004 11:19am (~12 anos atrás)

Márcel Abreu disse:
Muito bom o artigo, hoje, tecnologia não é nada sem qualidade.

O PHP é excelente para criarmos softs de qualidade, pq ele dá suporte a nossa imaginação, e isso é muito bom.

Obrigado Marcelio.
29/04/2004 7:23am (~12 anos atrás)

Muito bom Marcelio, estava procurando um script assim.

Parabéns,

Fabrício
28/04/2004 2:38pm (~12 anos atrás)

Fala Marcelo,

Cara... Recentemente eu tinha lido no site oficial PHP.net sobre um curso/palestra ou algo do genero que seria realizado e por acaso topei com o site de um dos ministrantes.

Pois bem... La tinha um artigo do tipo: "Voce se considera um Guru/Mago em PHP?", enfim, o artigo tinha as topicalizacoes:

- Reciclacao de codigos
- Programacao com orientacao a objetos/hierarquia e herancas
- Identacao e padronizacao de documentacao
- Tratamento de erros (Seu artigo)
- Abstracao
|- Banco de dados
|- Estruturacao de dados dinamicos (por exemplo relacao cookie/sessao)

Enfim... Se olharmos os primeiros artigos publicados aqui no PHPBrasil e compararmos com os mais recentes veremos como a comunidade evoluiu. E evolui em quase todos os quesitos que as outras tecnologias/empresas de tecnologia presam...

Alguem ainda acha que nao queimaram a lingua quem falava que a comunidade Java estava a milhares de anos luz na frente das outras comunidades de desenvolvimento?

kekeke

Vlw pelo artigo

Abracos,

Ragen
28/04/2004 1:09pm (~12 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)