PHP - Função set_error_handler ()
Sintaxe
mixed set_error_handler ( callback $error_handler [, int $error_types] );
Definição e Uso
Esta função pode ser usada para definir sua própria maneira de lidar com erros durante o tempo de execução, por exemplo, em aplicativos nos quais você precisa fazer uma limpeza de dados / arquivos quando ocorre um erro crítico ou quando precisa acionar um erro sob certas condições.
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | error_handler(Required) Ele especifica a função a ser executada em erros. A sintaxe de error_handler é fornecida abaixo. |
2 |
error_types(Optional) Ele especifica em quais níveis de relatório de erros o erro definido pelo usuário será mostrado. O padrão é "E_ALL". Consulte "PHP Error and Logging Constants:" para possíveis níveis de relatório de erros. |
Sintaxe da função de manipulador de erros
error_function(error_level,error_message, error_file,error_line,error_context);
Aqui está a descrição do paramenter -
errno - O primeiro parâmetro, errno, contém o nível do erro gerado, como um número inteiro.
errstr - O segundo parâmetro, errstr, contém a mensagem de erro, como uma string.
errfile - O terceiro parâmetro é opcional, errfile, que contém o nome do arquivo no qual o erro foi gerado, como uma string.
errline - O quarto parâmetro é opcional, errline, que contém o número da linha em que o erro foi gerado, como um inteiro.
errcontext - O quinto parâmetro é opcional, errcontext, que é uma matriz que aponta para a tabela de símbolos ativa no ponto em que o erro ocorreu.
Valor de retorno
Retorna uma string contendo o manipulador de erros definido anteriormente (se houver) ou NULL em caso de erro.
Exemplo
A seguir está o uso desta função -
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Custom error: [$errno] $errstr\n";
echo "Error on line $errline in $errfile\n";
echo "Ending Script";
die();
}
//set error handler
set_error_handler("customError");
$test = 0;
//trigger error
if ($test > -1) {
trigger_error("A custom error has been triggered");
}
?>
Isso produzirá o seguinte resultado -
Custom error: [1024] A custom error has been triggered Error on line 16
in /home/cg/root/1531703/main.php
Ending Script