Gerando erros personalizados com PHP
07 Feb 2012Uma forma mais profissional de se exibir erros em aplicações PHP é através da função trigger_error(). Esta função lança um erro personalizado, definido pelo usuário, da mesma forma que são exibidos os erros do PHP.
Através dessa função, podemos definir 3 tipos básicos de erros:
E_USER_ERROR ->Erro fatal, exibe a mensagem e termina o script.
E_USER_WARNING -> A execução do script não é afetada, porém são exibidos avisos dos erros encontrados.
E_USER_NOTICE -> A execução do script também não é interrompida. Este tipo de erro serve para mostrar possíveis problemas que podem gerar um erro maior.
Para utilizar a função trigger_error(), basta chamá-la, passando como primeiro parâmetro a string contendo o erro e no segundo parâmetro, o tipo do erro, sendo que os tipos permitidos são os descritos acima.
Vamos ao exemplo:
<?php
if (!isset($_GET[‘id’])){
/* Se uma variavel ID nao for passada por GET, termina o script */
trigger_error(‘Nenhum ID foi informado!’, E_USER_ERROR);
}
if (!is_numeric($_GET[‘id’])){
/* Se o ID passado por GET nao for numerico, exibe um aviso */
trigger_error(‘Cuidado, o ID nao e numerico!’, E_USER_WARNING);
}
/* Por fim, se o ID for menor que zero, lançamos um erro do tipo E_USER_NOTICE */
if ($_GET[‘id’] < 0){
trigger_error(‘O ID e menor que 0!’, E_USER_NOTICE);
}
/* Exibimos o valor do ID */
echo ‘ID -> ‘ . $_GET[‘id’];
?>
Note que quando não existe uma variável ID passada por GET, é lançado um E_USER_ERROR, como este é um erro fatal, o erro é exibido e o script termina imediatamente.
Nota: para que os erros sejam exibidos corretamente, certifique-se que a diretiva display_errors do arquivo de configurações php.ini esteja marcada como On. Caso você não tenha acesso ao arquivo de configurações do PHP, adicione esta linha no começo do script:
ini_set(‘display_errors’, ‘on’);
Esta linha faz com que os erros do PHP sejam exibidos na tela.
Espero que tenham gostado.
Até a próxima 😉