Code Igniter User Guide Version 1.5.2


Tratamento de Erros

O Code Igniter permite que você construa relatórios de erros em suas aplicações utilizando as funções descritas abaixo. Além disso, ele tem uma classe de log de eros que permite que as mensagens de erro e debug sejam salvas como arquivos texto.

Note: Por default, O Code Igniter mostra todos os erros PHP. Você poderia desejar alterar este comportamente uma vez que seu desenvolvimento estiver completo. Descubrirá que a função error_reporting(), localizada no topo de seu aquivo index.php principal. Desabilitar relatórios de erros NÂO irá evitar que os arquivos de log sejam escritos se houver algum erro.

Ao contrário da maioria dos sistemas no Code Igniter, as funções de erro são simples interfaces procedurais que estão disponíveis globalmente através de sua aplicação. Esta abordagem permite que mensagens de erro sejam disparadas sem que você se preocupe com o escopo da classe/função.

As seguintes funções permitem que você gere erros:

show_error('messagem')

Esta função irá mostrar a mensagem de erro disponível à ela utilizando o seguinte template:

application/errors/error_general.php

show_404('pagina')

Esta função irá mostrar a mensagem de erro 404 disponível à ela utilizando o seguinte template:

application/errors/error_404.php

A função expera que a string passada à ela seja o caminho do arquivo para a página que não foi encontrada. Note que o Code Igniter automaticamente mostra mensagem 404 se os controllers não são encontrados.

log_message('nivel', 'messagem')

Esta função permite que você escreva mensagens em seus arquivos de log. Você deve fornecer um destes 3 'níveis' no primeiro parâmetro, indicando qual é o tipo de mensagem (debug, erro, info), e com a própria mensagem como segundo parâmetro. Exemplo:

if ($qualquer_variavel == "")
{
    log_message('error', 'Qualquer variável não contém um valor.');
}
else
{
    log_message('debug', 'Qualquer variável foi atribuída corretamente');
}

log_message('info', 'O propósito de qualquer variável é fornecer algum valor.');

Há três tipos de mensagens:

  1. Mensagens de Erro. Estas não na verdade erros, como os erros de PHP ou de usuário.
  2. Mensagens de Debug. São mensagens que ajudam no debugging. Por exemplo, se uma classe foi inicializada, você pode registrar isto como uma informação de debugging.
  3. Mensagens Informacionais. Estas são as demais baixa prioridade, simplismente dão informações sobre algum processo. O Code Igniter não gera nativamente qualquer mensagem informacional mas você pode querê-las em sua aplicação.

Note: Para que o arquivo de log seja escrito, o diretório 'logs' deve estar com permissão de escrita. E você deve, ainda, configurar o que deve ser registrado. Você pode, por exemplo, querer que apenas as mensagens de erro sejam registradas e não os outros dois tipos. Se você configurá-las para zero, o registro será desabilitado.