365 of 410 menu

Il comando throw

Il comando throw viene utilizzato per generare esplicitamente un'eccezione in PHP. Accetta un parametro - un oggetto eccezione, che deve essere un'istanza di una classe, ereditata dalla classe base Exception. Quando viene chiamata questa funzione, l'esecuzione del codice corrente viene immediatamente interrotta e PHP tenta di trovare il blocco catch corrispondente per gestire l'eccezione.

Sintassi

throw new ExceptionClass(message, code, previous);

Esempio

Un semplice esempio di generazione di un'eccezione:

<?php $age = -5; if ($age < 0) { throw new Exception('Age cannot be negative'); } ?>

Risultato dell'esecuzione del codice:

Fatal error: Uncaught Exception: Age cannot be negative

Esempio

Esempio con gestione dell'eccezione:

<?php try { $res = 10 / 0; if (is_infinite($res)) { throw new Exception('Division by zero'); } } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); } ?>

Risultato dell'esecuzione del codice:

'Error: Division by zero'

Esempio

Utilizzo di un'eccezione personalizzata:

<?php class MyCustomException extends Exception {} try { throw new MyCustomException('Custom error message'); } catch (MyCustomException $e) { echo 'Custom error caught: ' . $e->getMessage(); } ?>

Risultato dell'esecuzione del codice:

'Custom error caught: Custom error message'

Vedi anche

  • la struttura try,
    che definisce un blocco di codice per la gestione delle eccezioni
  • la struttura catch,
    che intercetta e gestisce le 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