Tutorial PHP

Home | Tutorial PHP | Art. # 64

Gestione degli errori in PHP 5 con try catch

Registrazione Domini
Registrazione Domini Internet ai prezzi più bassi d'Europa: soli 5,40 euro più IVA all'anno!

PHP 5 ha introdotto il costrutto try catch per effettuare la gestione degli errori. Il paradigma completo prevede quattro comandi.

Nello specifico abbiamo: try che prova ad eseguire una serie di istruzioni che potrebbero generare un errore o un'eccezione, throw lancia un'istanza dell'oggetto Exception per gestire un'eccezione, catch esegue un'istruzione alternativa, e finally esegue delle istruzioni a prescindere dall'esito delle istruzioni eseguita nei costrutti try e catch.

La differenza tra errore ed eccezione sta nel fatto che un errore è uno sbaglio concreto, relativo alla sintassi o alla logica di esecuzione di una routine, mentre un'eccezione è un errore che si verifica solo in determinati casi.

Un esempio di eccezione è la divisione per zero: in PHP si può realizzare un programma di calcolo che, tra l'altro, effettui delle divisioni tra numeri, ma il caso della divisione per zero genera un errore che va gestito.

Vediamo la sintassi base del costrutto try catch:

try
{
    // Provo ad eseguire delle istruzioni
}
catch (eccezione)
{
    // Eseguo delle istruzioni alternative
}
finally
{
    // Eseguo queste istruzioni a prescindere da try e da catch
}

Vediamo il caso della divisione per zero in azione:

<?
    $a = 10;
    $b = 0;
    try
    {
        if ($b == 0)
        {
            throw new Exception("Non posso procedere!");
        }
        else
        {
            echo $a / $b;
        }
    }
    catch (Exception $e)
    {
        echo $e;
    }
    finally
    {
        echo "L'importante è provarci!";
    }
?>

Per testare il funzionamento è necessario che il server su cui si prova ad eseguire questo script supporti PHP 5.

 

Scritto in data 05/03/2008

Segnalalo ad un Amico | Aggiungilo ai Preferiti

© 2008 Appunti PHP - A cura di Luca Ruggiero - Partita IVA 05564851219 - Privacy | Pubblicità | Contatti