(PHP 5, PHP 7, PHP 8)
set_exception_handler — Imposta una funzione di gestione delle eccezioni definita dall'utente
Imposta la funzione predefinita per la gestione delle eccezioni se un'eccezione non viene individuata
all'interno di un blocco try/catch. L'esecuzione sara' terminata dopo
la chiamata della funzione exception_handler
.
exception_handler
Nome della funzione da invocare in caso di eccezione non individuata. Questa funzione di gestione deve accettare un parametro, che sarà l'oggetto dell'eccezione che è stata lanciata. Questa è la firma del gestore prima di PHP 7:
Da PHP 7, la maggior parte degli errori vengono segnalati lanciando eccezioni Error, che verranno catturate anche dal gestore. Sia Error che Exception implementano l'interfaccia Throwable. Questa è la firma del gestore da PHP 7:
Può essere invece passato null
, per riportare questo gestore al suo stato predefinito.
Notare che fornendo un hint di tipo Exception esplicito
per il parametro ex
nella propria callback
causerà problemi con la gerarchia delle eccezioni modificata in PHP 7.
Restituisce il nome del gestore di eccezioni definito precedentemente, o null
in caso di errore. Se
non è stato definito alcun gestore precedente, viene anche restituito null
.
Versione | Descrizione |
---|---|
7.0.0 |
Il tipo di parametro passato in exception_handler è cambiato
da Exception a Throwable
|
5.5.0 |
In precedenza, se veniva passato null allora questa funzione restituiva true .
Restituisce il gestore precedente da PHP 5.5.0.
|
Example #1 Esempio di set_exception_handler()
<?php
function exception_handler($exception) {
echo "Eccezione non individuata: " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
throw new Exception('Uncaught Exception');
echo "Non eseguita\n";
?>