Prova il blocco
PHP ha una classe di base chiamata Eccezione e le eccezioni vengono lanciate da Tentativo blocca a Eccezione o sottoclasse di Eccezione classe.
Sintassi:
TentativoBlocco di cattura
Presa Il blocco appare dopo Tentativo bloccare. PHP supporta più presa blocchi per gestire più eccezioni. Quando qualsiasi eccezione lancia, PHP cerca di abbinarsi al primo blocco di cattura, quindi il secondo blocco di cattura se non corrisponde al primo e così via.
Sintassi:
TentativoFinalmente il blocco
Finalmente il blocco può essere utilizzato dopo o invece di catturare il blocco in PHP e questo blocco viene eseguito quando prova il blocco esce. Qualsiasi codice normale o di terminazione può essere aggiunto a questo blocco dopo aver eseguito il codice di prova.
Sintassi:
TentativoEsempio-1: usando il blocco try-catch per un semplice errore
L'esempio seguente mostra l'uso di un blocco try-catch per una singola eccezione. Crea un file PHP con il seguente script. Il valore del parametro di query 'Num'è stato letto e controllato nel blocco di prova. Se il valore è inferiore a 10, il blocco di prova lancerà un'eccezione nel blocco catch. Altrimenti, il valore verrà stampato. Il blocco catch catturerà l'eccezione e stamperà il messaggio inviato dal blocco di prova. Se non passa il parametro di query, il valore predefinito sarà 100.
// testare il numero è 10 o piùIl numero deve essere 10 o più.
");Il numero è $ n
";Produzione:
Esegui lo script senza alcun parametro di query.
http: // localhost/phpcode/trycatch1.PHP
Esegui lo script con un valore di parametro di query che è inferiore a 10.
http: // localhost/phpcode/trycatch1.PHP?Num = 5
Esegui lo script con un valore di parametro di query che è maggiore di 10.
http: // localhost/phpcode/trycatch1.PHP?Num = 15
Esempio-2: gestione di più errori ereditando la classe di eccezioni
Crea un file PHP con il seguente script per gestire le più eccezioni utilizzando più blocchi di cattura. Una sottoclasse di nome 'MyException'è stato creato estendendo la classe base'Eccezione'per gestire il' 'Errore URL non valido'. La classe base Eccezione è stato usato per la gestioneErrore URL vuoto'.
// dichiara una sottoclasse myException estendendo la classe di eccezione'.$ this-> messaggio.'non è un indirizzo URL valido
';L'indirizzo URL è vuoto.
");".$ URL."È un indirizzo URL valido
";Produzione:
Esegui lo script senza alcun parametro di query.
http: // localhost/phpcode/trycatch2.PHP
Esegui lo script con un parametro di query denominato URL senza alcun valore.
http: // localhost/phpcode/trycatch2.PHP?url =
Esegui lo script con un parametro di query denominato URL con un valore URL non valido.
http: // localhost/phpcode/trycatch2.PHP?url = Google
Esegui lo script con un parametro di query denominato URL con un valore URL valido.
http: // localhost/phpcode/trycatch2.PHP?url = http: // google.com
Immagine
Esempio-3: Gestione dell'errore del file utilizzando Try, Catch e infine bloccare
Crea un file PHP con il seguente script per conoscere l'uso di Try, Catch e infine Blocca. Lo script proverà ad aprire il test del file.txt 'e try block lanceranno un'eccezione se il file non esiste nella posizione corrente o non è in grado di aprire. Il blocco catch stamperà il messaggio di errore lanciato dal blocco di prova. Il codice del blocco finalmente chiuderà il gestore dei file dopo aver eseguito il blocco di prova. Try Block stamperà il contenuto del file se non viene visualizzato alcun errore.
error_reporting (0);Impossibile aprire il file.
");Produzione:
Esegui lo script.
http: // localhost/phpcode/trycatch3.PHP
Esempio-4: usando il blocco di cattura di prova nidificato
Crea un file PHP con il seguente script per conoscere il modo di utilizzare il blocco di battiti nidificati. Lo script controllerà che il valore prelevato da un URL è un numero o meno nel primo blocco try-catch e il numero preso è maggiore di 100 o no verrà controllato nel secondo blocco di cattura di prova.
if (ISSET ($ _ get ['n']))Produzione:
Esegui lo script senza alcun parametro di query.
http: // localhost/phpcode/trycatch4.PHP
Esegui lo script con il valore del parametro query inferiore a 100.
http: // localhost/phpcode/trycatch4.PHP?n = 78
Esegui lo script con il valore del parametro query maggiore di 100.
http: // localhost/phpcode/trycatch4.PHP?n = 112
Esempio-5: utilizzando il blocco try-catch con la funzione
Crea un file PHP con il seguente script per conoscere l'uso del blocco try-catch con la funzione. Lo script prenderà due valori numerici dai parametri di query URL e il blocco Try-Catch chiamerà una funzione che lancerà un'eccezione se il "Divisione per zero"Si è verificato un errore.
// Definisci la funzione per il calcolo della divisioneIl risultato di $ a/$ b = $ risultato
";Errore: ", $ e-> getMessage (),"
";Produzione:
Esegui lo script senza alcun parametro di query.
http: // localhost/phpcode/trycatch5.PHP
Esegui lo script con i valori dei parametri query, 10 e 5.
http: // localhost/phpcode/trycatch5.PHP?N1 = 10 e N2 = 5
Esegui lo script con i valori dei parametri query, 10 e 0.
http: // localhost/phpcode/trycatch5.PHP?N1 = 10 e N2 = 0
Esempio-6: visualizzare il messaggio di errore in dettaglio per l'eccezione personalizzata
Crea un file PHP con il seguente script per visualizzare il messaggio di errore in dettaglio utilizzando diversi metodi della classe di eccezione. Lo script prenderà il nome file dal parametro URL e controlla che il file esiste o meno utilizzando un blocco try-catch.
if (isset ($ _ get ['fn'])Produzione:
Esegui lo script senza alcun parametro di query.
http: // localhost/phpcode/trycatch6.PHP
Esegui lo script con il parametro query che contiene il nome file non esistente.
http: // localhost/phpcode/trycatch6.PHP?fn = testo.TXT
Esegui lo script con il parametro query che contiene il nome file esistente.
http: // localhost/phpcode/trycatch6.PHP?fn = trycatch5.PHP
Conclusione
Gli usi di base del blocco try-catch sono stati spiegati in questo tutorial utilizzando script PHP molto semplici. Spero che il concetto di gestione delle eccezioni in PHP venga cancellato dopo aver praticato correttamente gli esempi di questo tutorial.