Corsi on-line

PHP 5.5 introduce il blocco finally nella gestione delle eccezioni

PHP 5.5, ancora in fase di betatest nel momento in cui viene scritto questo post, consente di introdurre un blocco di tipo finally nella gestione delle eccezioni; esso si aggiunge al blocco try/catch (disponibile a partire dalla versione 5 del linguaggio) è ha il compito di delimitare istruzioni che verranno eseguite indipendentemente dall’esito del codice contenuto in try/catch. Un semplice esempio riguardante il suo utilizzo potrebbe essere il seguente:

<?php
$dividendo = 7;
$divisore = 0;
try{
	if ($divisore == 0){
		throw new Exception("Divisione per zero.");
	}else{
		echo $dividendo/$divisore;
	}
}
catch (Exception $e)
{
	echo $e->getMessage() . "\n";
}
finally
{
	 echo "Il risultato di una divisione per 0 è 0.";
}
?>

Come è noto, in PHP la divisione di un numero per zero restituisce un errore, nel codice proposto tale errore viene introdotto tramite throw che istanzia un oggetto di Exception(); catch intercetterà poi l’errore e lo restituirà senza bloccare l’esecuzione dell’applicazione che riprenderà con la stampa a video dell’output previsto tramite finally:

Divisione per zero. Il risultato di una divisione per 0 è 0.

L’errore citato non è un’esclusiva di PHP, questo perché in matematica una divisione per zero restituisce un risultato inesistente, per cui l’espressione che l’ha generato non ha significato.

Post correlati
I più letti del mese
Tematiche