Introdução a manipulação de erros em PHP

Abordaremos os pontos básicos na manipulação de erros em PHP. Humanos erram, um computador obviamente não é humano e por isso erros devem ser evitados ao extremo. E quando eles acontecerem seu sistema deve estar preparado para detectá-los e agir da melhor forma. A manipulação de erros dependerá mais do programador do que de qualquer outra coisa.

[ Hits: 28.698 ]

Por: Lorran Luiz em 22/01/2009 | Blog: http://lorranluiz.hostingtribe.com/


Resumindo



Faremos então uma compilação de tudo o que aprendemos:
  • Neste artigo revisamos conceitos básicos do poderoso recurso que é a orientação a objetos do PHP 5;
  • Vimos algumas situações de risco que podem surgir durante a execução de seu código;
  • Vimos também que podemos aprender com as situações frustradoras se tratarmos melhor as informações relativas a aquele problema;
  • Vimos que o PHP 5 conta com excelentes ferramentas para tratarmos da maneira certa as exceções que ocorrerem;
  • Estudamos as principais palavras-chave quando o assunto é tratamento de erros em PHP 5: try, catch e throw;
  • Estudamos superficialmente a classe Exception;
  • Aprendemos a disparar o "sinal de alerta" aproveitando a condicional "if" e usando-a em conjunto com throw.

Aprendemos o funcionamento básico do "sistema" de manipulação dos erros no PHP 5:

Quando um erro (exceção) ocorre, este é "percebido" (com por exemplo a condicional "if"), instancia-se então a classe Exception (com "throw new Exception('msg', 01)") ou uma derivada, o controle é passado para o bloco "catch" correspondente, que por vez pode usar as informações que recebeu a respeito do erro na sua manipulação, como melhor convir.

Depois que todo o código do bloco catch que manipulou o erro é executado, o controle do código volta ao escopo mais geral (exceto se uma função exit() ou similar for executada dentro do bloco catch, o que terminaria a execução do código neste instante).

Encerrando

Espero sinceramente ter sido claro, e mesmo sem aprofundar muito neste estudo, ter passado o máximo de conhecimento a respeito dos fundamentos do tratamento de erro com exceções em PHP.

Continuemos a estudar e talvez um dia melhorar nosso país com o conhecimento!

Um abraço para todos da comunidade VOL!

L. Luiz

Página anterior    

Páginas do artigo
   1. Introdução
   2. Situações de possíveis erros
   3. Preparando seu código para as exceções
   4. Estendendo e especificando exceções
   5. Um código básico com tratamento de erros
   6. Resumindo
Outros artigos deste autor

Servidor LAMP + PHPMyAdmin + Webalizer

Leitura recomendada

Autenticação de sites com PHP e MySQL

Pentesting on PHP apps: XSS

Vulnerabilidade em formulário PHP

Segurança em PHP

Segurança: Autenticando o PHP com HTTP (Authentication Required)

  
Comentários
[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...

[4] Comentário enviado por albertguedes em 24/01/2009 - 02:28h

Cara, tá no favoritos.
valeu MEEEESMO hehehe.

Aparece ai no canal IRC do VOL

http://www.vivaolinux.com.br/artigo/Canal-IRC-do-VOL-Participe-voce-tambem

[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".



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts