Crea sito

Pillole di PHP – Gestione degli errori sull’include()

| 27 aprile 2012 | 0 Comments

PHP LogoA volte può capitare di dover includere nel proprio codice PHP delle classi o altri file, ma di non sapere se i rispettivi file esistono o non contengono palesi errori.  Il semplice try & catch non funziona perchè di standard, il comando include (ed include_once), in caso di esito negativo, restituisce solo un warning continuando ad eseguire il codice fino alla fine. Per ovviare a questo inconveniente, l’unico modo che ho trovato, per ora, è quello di creare manualmente una eccezione se l’operazione di inclusione del file non è avvenuta correttamente. L’utilizzo della chiocciola davanti all’include permette la soppressione dei warning generati dal tentativo fallito. Trovandosi il codice di include all’interno del try e, generando tramite il throw una eccezione, si finisce nel catch dove il codice potrà essere mostrato a video con il getMessage() della variabile contenente il messaggio. L’esecuzione del codice della pagina verrà poi bloccata tramite la funzione exit con parametro 1, 0vvero uscita con valore false (c’è stato qualche errore che ha fatto terminare l’esecuzione).

// Prova ad eseguire il codice fra parentesi
try {
// Se non riesce ad includere il file classe_da_includere.php ...
if ([email protected]('classe_da_includere.php')) {
// ... genera una nuova eccezione con il relativo messaggio di errore
throw new Exception("Impossibile includere il file: classe_da_includere.php");
}
// Se vi è stata una eccezione la salva nella variabile $e
} catch (exception $e) {
// Mostra il messaggio di eccezione
echo $e->getMessage();
// Arresta l'esecuzione dalla riga di exit() in poi
exit(1);
// Da qui in poi il codice presente nella pagina non verrà più eseguito
}

Spero possa tornarvi utile prima o poi. Buona programmazione!;)

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Tags: , , , , , , , ,

Category: Informatica

About the Author ()

Leave a Reply