Gestione degli errori PHP

| | | | | | | | | | | | | | | | | | |
Metodi di gestione degli errori PHP:
  • Utilizzo del metodo die()
  • Gestione degli errori personalizzata
Gestione degli errori di base: utilizzo la funzione die() La funzionedie() stampa un messaggio ed esce dallo script corrente.Sintassi:
die ($message)
Esempio:< /b>
// Codice PHP che mostra la gestione degli errori predefinita$file = fopen ( "engineer.txt" , "w" ); ?> Nota.Esegui il codice sopra e il file engineer.txt è mancante , quindi verrà visualizzato un errore di runtime.
Errore di runtime:
Avviso PHP: fopen (engineer.txt): impossibile aprire lo stream: autorizzazione negata in /home/dac923dff0a2558b37ba742613273073.php on line 2
Per evitare questo errore, usa la funzione die(). La funzione die() è implementata di seguito:Esempio:
// Codice PHP per verificare la presenza di errori
// se non è presente alcun file
// quindi esci dallo scriptif (! file_exists ( file_exists ( "engineer.txt" )) { die ( " Il file non è presente " ); }
// se il file è presente
// poi continuaelse { $file = fopen ( " engineer.txt " , " w " ); }
?>
Nota.Se il file è ingegnere .txt è mancante, verrà visualizzato l`output.
Esci
Il file non è presente
Gestione errori personalizzati:Creazione di un file personalizzato il gestore degli errori in PHP è molto semplice. Crea una funzione che può essere chiamata quando si verifica un errore in PHP.Sintassi:
funzione_errore ($livello_errore, $messaggio_errore, $file_errore, $linea_errore, $contesto_errore)
Parametri:Questa funzione accetta cinque parametri come sopra e descritti di seguito:
  • $error_level: questo è un parametro obbligatorio e deve essere un numero intero. Ci sono livelli di errore predefiniti.
  • $error_message:Questo è un parametro obbligatorio e questo è il messaggio che l`utente vuole stampare.
  • $ error_file: è un parametro facoltativo utilizzato per specificare il file in cui si è verificato l`errore.
  • $error_line:è un parametro facoltativo utilizzato per specificare il numero di riga in cui si è verificato l`errore si è verificato.
  • $error_context:questo è un parametro facoltativo utilizzato per specificare un array contenente ciascuna variabile e il relativo valore quando si verifica un errore.
livello_errore:questi sono i possibili livelli di errore, elencati di seguito:
  • 1: .E_ERROR: errore fatale di runtime interrotto
  • 2: E_WARNING: non- errore fatale di runtime, esecuzione dello script interrotta
  • 4: E_PARSE: errore di compilazione generato dal parser
  • 8: E_NOT ICE: lo script ha riscontrato qualcosa che potrebbe essere un errore
  • 16: E_CORE_ERROR: errori irreversibili che si sono verificati durante l`esecuzione iniziale dello script
  • 32: E_CORE_WARNING: errori non irreversibili che si sono verificati durante l`esecuzione iniziale dello script
  • 8191: E_ALL: tutti gli errori e gli avvisi
funzione set_error_handler():Dopo aver creato la funzione myerror(), è necessario installare un gestore di errori personalizzato perché PHP normalmente lo gestisce, ma se l`utente sta eseguendo la gestione degli errori personalizzata, quindi l`utente dovrebbe impostarlo invece di un argomento e passa la funzione myerror come stringa.Esempio:
// Crea il mio errore funzione che stampa il messaggio
// utentefunzione myerror ( $error_no , $error_msg ) { eco "Errore: [$error_no] $error_msg" ; eco "Ora lo script terminerà " ; // Se si verifica un errore, lo script deve essere fermato muori (); }
// Impostazione set_error_handlerset_error_handler ( "myerror" ); $a = 10; $b = 0;
// Questo sarà genera un erroreeco ( $a / $b ) ;; ?>
Output:
Errore: [2] Division b y zero Ora lo script terminerà
Output:cerca sempre di gestire gli errori utilizzando la gestione degli errori personalizzata perché mostrerà un messaggio più specifico in base all`utente, che può essere utile all`utente. Se l`errore non viene gestito con la gestione degli errori personalizzata, si verifica un errore, lo script verrà interrotto per impostazione predefinita, ma se gestisce l`errore con la gestione degli errori personalizzata, può continuare lo script dopo aver visualizzato il messaggio di errore.