Tratamento de erros PHP

| | | | | | | | | | | | | | | | | | |
Métodos de tratamento de erro PHP:
  • Usando o método die()
  • Tratamento de erro personalizado
Tratamento básico de erro: usando a função die() A funçãodie() imprime uma mensagem e sai do script atual.Sintaxe:
die ($message)
Exemplo:< /b>
// código PHP mostrando o tratamento de erros padrão$file = fopen ( "engineer.txt" , "w" ); ?> Observação.Execute o código acima e o arquivo engineer.txt está ausente , e um erro de tempo de execução será exibido.
Erro de tempo de execução:
Aviso do PHP: fopen (engineer.txt): falha ao abrir fluxo: permissão negada em /home/dac923dff0a2558b37ba742613273073.php na linha 2
Para evitar esse erro, use a função die(). A função die() é implementada abaixo:Exemplo:
// código PHP para verificar erros
// se não houver arquivo
// então saia do scriptif (! file_exists ( "engineer.txt" )) { morre ( " O arquivo não está presente " ); }
// se o arquivo estiver presente
// então continueelse { $file = fopen ( " engenheiro.txt " , " w " ); }
?>
Observação.Se o arquivo for engenheiro .txt está ausente, ele exibirá a saída.
Sair
O arquivo não está presente
Gerenciadores de erros personalizados:Criando um arquivo personalizado manipulador de erros em PHP é muito fácil. Crie uma função que possa ser chamada quando ocorrer um erro no PHP.Sintaxe:
error_function ($error_level, $error_message, $error_file, $error_line, $error_context)
Parâmetros:Esta função recebe cinco parâmetros conforme descrito acima e descrito abaixo:
  • $error_level: Este é um parâmetro obrigatório e deve ser um número inteiro. Existem níveis de erro predefinidos.
  • $error_message:Este é um parâmetro obrigatório e esta é a mensagem que o usuário deseja imprimir.
  • $ error_file: é um parâmetro opcional usado para especificar o arquivo onde ocorreu o erro.
  • $error_line:é um parâmetro opcional usado para especificar o número da linha onde ocorreu o erro ocorreu.
  • $error_context:este é um parâmetro opcional que é usado para especificar um array contendo cada variável e seu valor quando ocorre um erro.
error_level:estes são os níveis de erro possíveis, listados abaixo:
  • 1: .E_ERROR: erro fatal em tempo de execução foi interrompido
  • 2: E_WARNING: não- erro fatal em tempo de execução, execução do script interrompida
  • 4: E_PARSE: erro de tempo de compilação gerado pelo analisador
  • 8: E_NOT ICE: o script encontrou algo que pode ser um erro
  • 16: E_CORE_ERROR: erros fatais que ocorreram durante a execução inicial do script
  • 32: E_CORE_WARNING: erros não fatais que ocorreram durante a execução inicial do script
  • 8191: E_ALL: todos os erros e avisos
função set_error_handler():Depois de criar a função myerror(), você precisa instalar um manipulador personalizado de erros porque o PHP normalmente lida com isso, mas se o usuário está fazendo tratamento de erro personalizado, então o usuário deve defini-lo em vez de um argumento e passe a função myerror como uma string.Exemplo:
// Criar minha função de erro que imprime a mensagem
// usuáriofunção myerror ( $error_no , $error_msg ) { echo "Erro: [$error_no] $error_msg" ; echo "Agora o script terminará " ; // Se ocorrer um erro, o script deve ser interrompido morrer (); }
// Configurando set_error_handlerset_error_handler ( "myerror" ); $a = 10; $b = 0;
// Isto irá gerar um erroecho ( $a / $b ) ;; ?>
Saída:
Erro: [2] Divisão b y zero Agora o script terminará
Saída:sempre tente tratar os erros usando o tratamento de erros personalizado porque mostrará uma mensagem mais específica de acordo com o usuário, que pode ser útil para o usuário. Se o erro não for tratado com tratamento de erro personalizado, ocorrerá um erro e o script será interrompido por padrão, mas se ele tratar o erro com tratamento de erro personalizado, poderá continuar o script após exibir a mensagem de erro.