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

Home ~ Php :: Try and catch block con notifica delle eccezioni :: Indice Php

Try and catch block con notifica delle eccezioni

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

Nel precedente capitolo di questa breve serie di articoli dedicati all' Exception Handling in PHP 5, abbiamo descritto un primo esempio riguardante la possibilità di creare un try and catch block all'interno del quale testare gli output derivanti dal sistema di controllo denominato try, throw and catch.

L'esempio precedente non prevede di visualizzare le notifiche di errore al presentarsi di un'eccezione, quindi ora presenteremo del codice destinato ad una funzione esattamente contraria.
Salviamo il listato esposto qui sotto in un file chiamato, ad esempio, eccezione3.php:

<?
try {
  $var = -1000;
  $var2 = -2; 
  if ( $var < $var2 )
  {
    throw new Exception($var. " è inferiore a " .$var2. "<br />");
    echo "Prova a stamparmi se ci riesci!";
  }
}
catch (Exception $excp) {
  echo "Alt!! Ho trovato un'eccezione:<br />", $excp;
}
?>

Di seguito, riportiamo per completezza espositiva la stampa a video dell'output conseguente al test del codice appena digitato:
Alt!! Ho trovato un'eccezione:
exception 'Exception' with message '-1000 è inferiore a -2
' in c:\programmi\php\www\err.php:7 Stack trace: #0 {main}
Lo script proposto ci riporta a quanto detto nel primo di questa breve serie di articoli sulla gestione delle eccezioni, nelle distribuzioni di PHP precedenti alla 5, infatti, il test dei codici era pressocchè l'unica maniera di reperire indicazioni riguardanti il verificarsi di eccezioni.

Il limite insito in un sistema come quello in vigore fino a PHP 4, stava nell'impossibilità di poter "specializzare" le operazioni di Exception Handling predefinendo la tipologia di reazione a seconda delle differenti possibilità di errore.

Nel codice proposto come esempio abbiamo innanzitutto sottoposto delle istruzioni a try; di seguito abbiamo lanciato all'interno del blocco un'eccezione tramite throw, questo ha determinato l'impossibilità di eseguire le istruzioni poste all'interno del try.

L'eccezione è stata quindi istanziata quale oggetto appartenente alla classe precedentemente definita, cioè Exception. L'istanza, conferendo delle proprietà all'oggetto lo ha reso riutilizzabile, infatti, lo ritroviamo al di fuori del blocco di try dove diviene argomento di un'istruzione e non ne blocca l'esecuzione.

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
Rinominare un computer da /etc/hosts
Quando installiamo Linux su un elaboratore, se il sistema non riceve istruzioni differenti, di default questo verrà chiamato:
localhost
Potrebbe naturalmente presentarsi... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti