set_exception_handler

(PHP 5, PHP 7, PHP 8)

set_exception_handler Imposta una funzione di gestione delle eccezioni definita dall'utente

Descrizione

set_exception_handler(callable $exception_handler): callable

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.

Elenco dei parametri

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:

handler(Exception $ex): void

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:

handler(Throwable $ex): void

Può essere invece passato null, per riportare questo gestore al suo stato predefinito.

Attenzione

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.

Valori restituiti

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.

Log delle modifiche

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.

Esempi

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";
?>

Vedere anche: