Descrizione: Modifica messaggio d'errore predefinito
Sorgente PHP: examples/error/exception.php
La gestione degli eccezioni è centralizzata e gestita dalla classe: ClsException (exception.class.php). Il comportamento di default della classe è quello di visualizzare l'errore di sistema e terminare l'esecuzione del programma. Esistono due eventi associati generati dalla classe, tramite i quali è possibile gestire l'eccezione ed in eventuale inibire il comportamento di default:
- before_exception_error($exception) possiamo eseguire del codice prima di visualizzare l'errore, modificare il messaggio d'errore o infine impostando return false non visualizzare alcun messaggio di errore.
- after_exception_error($exception) permette di eseguire del codice dopo la visualizzazione dell'errore e impostando return false non terminare l'esecuzione del programma.
<?php
function before_exception_error($exception)
{
$exception->param['errno'] = “.....”;
$exception->param['message'] = “.....”;
$exception->param['errfile'] = “.....”;
$exception->param['errline'] = “.....”;
$exception->param['title'] = “.....”;
return false; // disabilita il comportamento di default(die)
}
function after_exception_error($exception)
{
// i parametri $exception->param sono disponibili in sola lettura.
return false; // disabilita il comportamento di default(die)
}
?>
Le eccezioni vengono generate dal sistema durante l'esecuzione del programma e possono essere di diversa natura potrebbe essere non necessario intercettare tutte, in questo caso si può intervenire all'interno del file class/system.class.php riga:
<?php
error_reporting(E_ALL|E_STRICT);
?>
altri valori ammissibili sono:
E_ERROR
E_NOTICE
E_WARNING
E_PARSE
E_CORE_ERROR
E_CORE_WARNING
E_COMPILE_ERROR
E_COMPILE_WARNING
E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE
E_RECOVERABLE_ERROR
per maggiori informazioni ti consigliamo comunque di consulare la guida php relativa al comando error_reporting