Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Exception Handling in PHP 5 :: Indice Php

Exception Handling in PHP 5

Categoria: Php Inserito il: 03-04-2006 Stampa (6431 click)

Nello scripting server side in PHP 5, gli errori possono gestiti tramite eccezioni; questo approccio che i programmatori in Java o C++ conosceranno già molto bene, consente di separare nettamente in fase di sviluppo la gestione degli errori dalla logica dell'applicativo.

Dato che nella programmazione, gli errori sono inevitabili anche quando si assume una certa pratica nella digitazione del listato, diviene necessario creare degli accorgimenti che limitino il più possibile le perdite di tempo legate alla ricerca dei frammenti di codice errati.

Fino al PHP versione 4 non c'era molto da fare, si scriveva il codice e poi lo si testava, gli errori venivano fuori e si andava alla ricerca della riga affetta dall'errore per poi applicare la soluzione adeguata.
In PHP 5 abbiamo invece qualche strumento in più per l'analisi del nostro codice e per la razionalizzazione dei tempi di intervento a carico delle istruzioni mal digitate.

La logica che stà alla base dell'Exception Handling in PHP 5 prende il nome di try (prova), throw (lancia) and catch (cattura), per cui il controllo delle eccezioni emula in parte l'azione svolta dalle istruzioni di controllo o condizionali come if ed else.

Se per esempio salviamo il seguente codice in una pagina chiamata eccezione.php, e lo lanciamo:


prevedibilmente, il risultato ottenuto sarà simile all'output riportato qui di seguito:
Fatal error: Uncaught exception 'Exception' 
with message 'Errore!!!!!!!!' 
in c:\programmi\php\www\error.php:2 Stack trace: #0 {main} 
thrown in c:\programmi\php\www\error.php on line 2
Al lancio dello scriptino abbiamo due effetti: il primo è la notifica di un Uncaught exception (letteralmente: "eccezione non catturata"), il secondo, ben più importante ai fini dell'Exception Handling è il fatto che a seguito di questa notifica il resto delle istruzioni contenute nel codice, se presenti, non verranno eseguite.

In pratica, in questo caso l'effetto di un'azione di throwning sul codice PHP può essere paragonato a quello di una clausola die() che blocca l'esecuzione del listato a seguito di un controllo.

Certo l'argomento è abbastanza ostico, probabilmente anche per coloro che hanno maturato una certà capacità nella produzione del listato in un'ottica procedurale, ma come al solito il segreto è sempre lo stesso: documentarsi, sbagliare e riprovare...

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
MySQL: eliminare records duplicati e impedirne l'inserimento
Una delle richieste di supporto più frequenti in tema di gestione delle basi di dati è quella relativa all'eliminazione... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti