Olá a todos. Antes de iniciarmos este artigo, gostaria de agradecer publicamente ao iMasters pelo convite de participação do livro Internet: O encontro de 2 mundos; obrigado. E ao mesmo tempo, informar a vocês que ele, o livro, ganhou sua versão digital. Acompanhe!.
Neste artigo, faremos uma abordagem sobre o tratamento de erros em PHP num software web. No entanto, alguns pontos que serão discutidos equivalem para outras linguagens. A abordagem será teórica para que possamos ter embasamento para uma futura abordagem técnica.
Toda aplicação web, software ou programador é passível de erros. Porém, esse último nem sempre é passível de tratar os erros de seu software web. Um erro pode, e deve, ser tratado devido a diversos fatores, entre eles: segurança, qualidade, performance e marketing de relacionamento.
Em PHP, há três tipos básicos de erros: os de notificação (notices); os de alerta (warnings) e os fatais (fatals). Esse último tipo são os erros críticos que quando ocorrem resultam na finalização imediata do script. Eles acontecem, por exemplo, quando uma função que não existe é chamada ou quando fazemos referências a metódos ou propriedades não existentes de uma classe.
O desenvolvimento de uma aplicação web se divide em dois ambientes: de desenvolvimento e produção. Nesse primeiro, as configurações relacionadas aos erros do PHP devem dizer a ele para exibir todo e qualquer tipo de erro. Já no ambiente de produção a configuração deve ser específica para esse meio. Veremos que essa configuração pode ir além do simples fato de não exibir erros.
Um erro é corrigido, ou ao menos deveria, quando se tem conhecimento de sua existência. No ambiente de desenvolvimento, ele deve ser tratado afinco até o ponto de sua morte. Eles ocorrem por erros de programação, configuração ou mau uso dos recursos disponíveis.
Ao fazer o tratamento de erros, você trata com responsabilidade os dados dos usuários que utilizam e confiam seus dados ao software web em questão. Isso é muito sério. Além disso, uma melhor performance pode ser obtida, e principalmente o fechamento de brechas de segurança.
Não exibir os erros na tela é a primeira e mais básica configuração a ser feita no ambiente de produção. Com isso, evitamos o conhecimento de pessoas má intencionadas sobre as características sensíveis do nosso software web. Informações essas que dizem respeito a localização de arquivos; nome de variáveis; de funções; métodos ou propriedades de classes; estrutura de tabelas do banco de dados; entre outras informações.
Como os erros não devem ser exibidos na tela no ambiente de produção, eles devem ser direcionados para algum lugar. Temos a opção de enviá-los para um arquivo ou um banco de dados, por exemplo; e desta forma, teremos um relatório dos erros que ocorreram. Tal relatório deve ser checado para posterior correção. Não vale varrer os erros para debaixo do tapete, somente.
A utilização de um software web exige, quase sempre, a identificação do usuário através de seu login. Portanto, podemos registrar tal login junto ao erro ocorrido. Em futura checagem de erros, perceberemos que o usuário X não conseguiu completar uma ação desejada, é bem provável sua insatisfação devido ao fato. Porém, de posso desse registro, devemos corrigir o erro e convidá-lo para um nova visita e principalmente se desculpar pelo ocorrido.
Imagine a satisfação do usuário ao receber um e-mail da empresa responsável pelo software web, pedindo-lhe desculpas, explicando o acontecido e informando sobre a atual situação. Alguns usuários reconhecem a passividade de erros, mas nem todos o compromisso daqueles que estão por trás das interfaces. Essa simples ação, melhorará significativamente seu relacionamento com seus clientes.
Não devemos monitorar somente as ações dos usuários, como seus clicks, páginas visitadas, buscas realizadas, colaboração, entre outros. A partir de hoje, passe a monitorar, também, a exposição dos erros de seu software frente aos usuários.
Como disse no início deste artigo, os erros críticos resultam na finalização imediata do script. Como temos a possibilidade de detectar o tipo de erro ocorrido. É uma boa técnica ser notificado por e-mail ou SMS do acontecido. E assim, ser mais ágil na correção dos erros que impedem o pleno funcionamento de um software web.
E você, como faz abordagem sobre os erros num software web?








