Na história humana muitos conquistaram grandes coisas. Tiveram problemas é claro, mas em suas decisões não erraram ou erraram pouco (pois é, com os erros que aprendemos). Os erros enfim tiveram um papel relativamente importante para o sucesso dessas pessoas. Foi com eles (os erros) que as soluções apareceram, pois não existe solução se não há um erro para ser consertado.
É claro que erros nos decepcionam, mas eles só refletem a realidade - de que ainda não estamos completamente qualificados a fazer tal ato com êxito completo. Os erros mostram que não somos perfeitos.
A fato de não sermos perfeitos esbarra no que fazemos. Enfim, os programadores erram, os usuários podem errar ou até mesmo alguma parte do programa que está a ser executado pode falhar de alguma maneira.
São nesses erros que envolvem o aplicativo e/ou os atores envolvidos no sistema que grandes desastres começam a se formar. Verdadeiras bolas de neve vão crescendo a medida que um programador digita seu código sem preocupar-se com a menor possibilidade de algo dar errado.
Depois que um sistema está completamente construído, sem base alguma para o tratamento correto de erros, o "problema quase que irresolvível" estará montado! A cada passo na vida desse sistema a possibilidade da ocorrência de erros "não identificáveis" aumentará, e a cada erro, mais e mais do seu tempo se consumirá para se chegar a resolução do mesmo. O sistema enfim se torna insustentável e todas aquelas horas de trabalho foram desperdiçadas!
Situações como estas poderiam ser evitadas se medidas simples como a construção de um código "supervisionado" com cláusulas e blocos que garantem a manipulação correta e segura de erros fossem implementadas logo nas primeiras linhas.
[1] Comentário enviado por
matux em 22/01/2009 - 16:46h:
Bom Artigo, com certeza muito útil.
Já vou fazer uns testes!
Parabéns!
[2] Comentário enviado por
luizhacker em 22/01/2009 - 21:35h:
Complementando...
Não é preciso necessariamente que para exibir informações através do objeto de exceção você digite $e->__toString(), pois o métodos especial __toString() é executado automaticamente quando o objeto é requisitado como string, ou seja, você só precisará indicar o próprio objeto. Veja:
echo nl2br("<b>{$e->getMessage()}</b>\n<br />Detalhes:\n$e"); //Exibir string contendo informações sobre a exceção
Um abraço!
[3] Comentário enviado por
renato.leite em 23/01/2009 - 10:35h:
Otimo artigo, ajuda bastante...
[5] Comentário enviado por
everton3x em 29/01/2009 - 17:14h:
Muito bom artigo!
Saiu da mesmisse de "como conectar ao banco de dados" ou de "como manipular arquivos com PHP".