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: 29.987 ]

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


Preparando seu código para as exceções



Já vimos como cercar uma parte do código para manipular os erros que nela ocorrerem. Veremos a partir de então como "delatar" os erros e alertar o sistema quanto a eles.

Construindo uma exceção

O método construtor da classe Exception requer 2 parâmetros, sendo 1 opcional:

public Exception::__construct ([ string $message=NULL [, int $code ]] )

O primeiro parâmetro é a mensagem do erro e o segundo o código do erro (opcional).

Disparando o alarme

Em PHP usamos a palavra-chave throw para alertar o sistema da ocorrência de um erro, uma exceção. Throw é seguido de um código que solicita a construção de um novo objeto de exceção.

Para instanciar uma classe no PHP usamos a palavra-chave new seguida do nome da classe. Então a sintaxe ficará assim:

throw new Exception("Mensagem", 1);

Como usar "throw"

Podemos usar a condicional if para decidirmos quando disparar uma exceção.

Veja o exemplo abaixo:

if (!@mysql_connect ("localhost", "usuário", "senha")) throw new Exception("Não foi possível conectar ao banco de dados");

Obs.: Podemos usar o operador de supressão (@) de erros para evitar que sejam exibidas as mensagens de erro padrão do PHP.

Página anterior     Próxima página

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

Dados sensíveis em arquivos com extensão .inc

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

Criptografia do método GET no PHP

Pentesting on PHP apps: XSS

Criptografando mensagens com PHP

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts