364 of 410 menu

Il comando finally

Il blocco finally viene utilizzato insieme alle costruzioni try e catch per la gestione delle eccezioni. Il codice all'interno di finally verrà eseguito in ogni caso - sia in caso di esecuzione riuscita del blocco try, sia in caso di generazione di un'eccezione.

Sintassi

try { // Codice che potrebbe generare un'eccezione } catch (Exception $e) { // Gestione dell'eccezione } finally { // Codice che verrà eseguito in ogni caso }

Esempio

Esempio con esecuzione riuscita del codice:

<?php try { $res = 10 / 2; echo "Risultato: " . $res . "\n"; } catch (Exception $e) { echo "Eccezione: " . $e->getMessage() . "\n"; } finally { echo "Questo verrà sempre eseguito\n"; } ?>

Risultato dell'esecuzione del codice:

Risultato: 5 Questo verrà sempre eseguito

Esempio

Esempio con gestione di un'eccezione:

<?php try { $res = 10 / 0; echo "Risultato: " . $res . "\n"; } catch (Exception $e) { echo "Eccezione: " . $e->getMessage() . "\n"; } finally { echo "Questo verrà sempre eseguito\n"; } ?>

Risultato dell'esecuzione del codice:

Eccezione: Division by zero Questo verrà sempre eseguito

Esempio

Utilizzo di finally per liberare le risorse:

<?php $file = fopen("example.txt", "r"); try { // Lavoro con il file if ($file) { echo "File aperto con successo\n"; } } catch (Exception $e) { echo "Eccezione: " . $e->getMessage() . "\n"; } finally { if ($file) { fclose($file); echo "File chiuso nel blocco finally\n"; } } ?>

Risultato dell'esecuzione del codice:

File aperto con successo File chiuso nel blocco finally

Vedi anche

  • la costruzione try,
    che viene utilizzata per la gestione delle eccezioni
  • la classe Exception,
    che è la classe base per tutte le eccezioni
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta